Thursday, October 27, 2011

The Web’s 4 Hats & an HTML5 Overview - Part I


I recently returned from speaking at a conference in Kentucky where I ended up putting on four hats and seeing HTML5 and the future of mobile computing differently each time. I was struggling with trying to figure out why standards committees take so long to come to an agreement. After all, the vision of the web is clear, right?

Why did we get off the XHTML superhighway and jump on the scenic route where we ignore the bumps and potholes of bad syntax and limited metadata? What kind of folks are driving the bus right now and are they really going the right direction? Should we stay on the bus while we head into Mobileville? I've decided that the questions you pose are at least if not more important than the answers you think are right. Because that tells you what your vision is and if you've followed a little of this blog, you know that strategic vision is important.

The four hats are:
  • The Engineer - who likes all of the functionality logically thought out
  • The DBA - who likes the the data well defined and stored
  • The Designer - who likes to deliver an emotional message to the customer
  • The Businessman - who makes sure the customer is happy and they make a profit
Those four hats have led me to not watch the standards groups as much as watch Google and Amazon for what to use in the future that people want. The real vision of the web is to make money by giving computer users what they want. Waiting for standards groups won't get you there. After all, the current prediction is that CSS3 will be completely standardized by 2022.  Here's a rundown of the first two hats:


Engineer
As a software engineer and instructor of many students who become programmers, I know that the web has become populated with these folks that want to turn it into an application environment. That way they can program for it and make it do their will. The back end servers are full of Java, C#, and php and that same force is heading to the browser with JavaScript.

I see the HTML world being altered so that these variable manipulators can have better code and read each other's functions easier. The push in HTML5 towards meaningful naming of the loosely typed datatypes that were divs and spans is going to give programmers a better handle on what it is they are talking to. The code will become less dependent on ids and more dependent on setting up the HTML with the proper element names like <mark>, <time>, <progress>, <meter>, <details> and some of the more argued over names like <style scoped>.


I can see where the types of activities previously handled by JavaScript are being pushed into HTML. This reduces the language down to one, slightly more complex, language. Do we want a merger here of interests? Is the MVC principle being corrupted and should we really mix our text markup with programatic data validation in the same code module? The data and its validation are View Model pieces that are tightly coupled and should be handled together in my mind.

So the future lies with the ultimate merger of HTML and JavaScript and we'll have a Razor style view engine in all browsers eventually. My opinion is not to follow the same syntax and find a better way to merge the two. But the merger will eventually come. Simplified syntax for CSS3 and JavaScript have started to reinvent these stuffy languages and if jQuery can simplify CSS with a replacement like EZ-CSS, sass, or less, then we're on our way. I'm hoping it's not like node.js and stylus, but I need to try those more.


DBA
I also love to understand data and its meaningful use. Having the right field name and the right multiplicity gives me a warm glow. But I also know that too much data analysis can torture those poor programming souls who have to recombine the data for the page they work on.


Here we're not talking about the fields where programmers hand over their data after the output is available but where the data can be semantically meaningful as text. These are the domain entities and at a high level they are represented by <header>, <nav>, <footer>, <section>, <aside> and <article>.

My biggest hurdle here is knowing that the data already comes from a semantically proper framework called the database. If all the work has been done there, then who benefits by rethinking the meaningful structure one more time for the web? The only answer is that the DBA traditionally send the data to the programmers who use that "data markup" for their benefit. The field names become bundled together and as I put back on my Engineer hat, I am happy to create complex View Model types for my View, the web page.


But it's reinventing the wheel when there's a database and it's better for team coding experiences to have more readable code. But wait, is there a web service that might be looking for my article elements? Not yet in the HTML5 way. If you are looking for a current semantic framework of entities, you have to look no further than Google's recommendations. The microformats they recommend carry much more weight for reasons to mark up with them than just a standards board. People are using the schemas for reviews, events, organizations, places, restaurants, recipes, etc. without even knowing about it but you are losing out on having Google process your data and provide search results with it if you don't.


The XHTML push that we unceremoniously dumped was a DBA's dream for a perfect interface language between data source and data consumer. The problem was that it's not a homogenous set of data. Our web DBA's don't work under the same domain and the complexity made it uncomfortable to work with so many needs and choices that we found had already been solved with another data model. Or two (relational and objects). We didn't need a third (XML).

To be continued...

- Doug Hoff, Business IT Expert;
MCT, SCJP, ITILv3, COBIT LinkIn with Doug


Bookmark and Share

Tuesday, October 4, 2011

How To: Use Windows Event Collector

Many of my students have been unsure how to use a new feature of Windows 2008 and Windows 7 called the Event collector.  This feature allows one or more computers to forward a copy of events from selected logs, to a different computer that is called an event collector.  For example, assume that I have four servers.  I want to have three of the servers send any critical and error events from their Applications and System logs to one server so that I can review them.  

My assumptions for this article are that all four computers are domain joined.  Only domain joined computers can use this feature.  My other assumptions are that my computers will communicate using HTTP port 5985 and none of my servers are domain controllers.   Below I will outline the steps based upon my assumptions.
1. Decide which computer will be the collector of events and which computer(s) will be forwarding events to the collector.  


      2. Logon to each computer that will forward events as an Administrator and open a command prompt as an Administrator. 
a.  Type winrm quickconfig and press Enter.  WinRM will then ask you about adding a WinRM firewall exception as show below.  This screen shot is from a Windows Server 2008 R2 computer.  (You may be prompted to set the WinRM service to a delayed auto start and setting the WinRM firewall exception.  This is the behavior of Windows 7.)  Accept the change(s).













b. Continue performing this step on all computers that will be sending events.

3. Now you are ready to logon to the collector.  This is the computer that will be collecting the events.
a. Again, type winrm quickconfig and press Enter. 
b. Then type wecutil qc and press Enter.  This will allow users on a different computer to subscribe to (send) events on this computer.
c. When prompted to change the wecutil startup mode, click y and press Enter.
d. Type Exit and press Enter to exit the command prompt.
  

4. Click Start| Administrative Tools |Computer Management. 

5. Expand the Event Viewer and select the Subscriptions node.
        a. Right-click on Subscriptions and select Create Subscription.
        b. In the Subscription Properties page, in the Subscription name field, type a 

            subscription name i.e. Server1 logs.
        c. In the Subscription Type and source computers section, verify that Collector 

            initiated is selected and click Select Computers.
            i. Click Add Domain Computer and type the name of the server and click Check Names.
            ii. Click OK.
            iii. Click Test.
            iv. Read the message. Click OK.
        d. Click Select Events.
            i. In the Logged field, use the drop-down list and select Last 24 hours.
            ii. In the Event level field, select Critical, Error and Warning.
            iii. Select By Log.  Using the drop-down list expand Windows Logs and 

                select Application and System logs.
            iv. Click OK.

          



        e. Click Advanced.
            i. Verify that the Machine Account is selected.
            ii. Examine the port.  (Remember the firewall will need to allow traffic from this port.)
            iii. Click OK.
        f. Click OK to close the Subscription Properties screen.


6. Your next task is to add the collector computer’s account to each of the local Administrator’s groups.  (If you are using a domain controller, you will need to set up a user account that has permissions to read the event logs.)


7. Once that task is finished, expand the Event Viewer\Windows Logs\Forwarded Events.


8. This is the location that your logs from the other servers will send a copy of their Critical and Errors that are displayed in their System and Application logs.


- Janet Nichols, Windows Server Expert; MCT, MCSE, MCITP: Enterprise Admin, Server Admin; Windows 7 EDA, MCTS LinkIn with Janet

Bookmark and Share