|
|
||
John Reynolds's BlogMay 2006 ArchivesObjects are Nouns... Services are Verbs... SOA hinges on designing the right VerbsPosted by johnreynolds on May 25, 2006 at 08:53 AM | Permalink | Comments (14)I still find postings that express confusion about the relationship between object-oriented architectures and service-oriented architectures... so I would again like to offer my own $0.02 worth of insight... Objects are Nouns; Services are Verbs That's it. That's all there is to it.
In an object-oriented architecture, the software components are primarily organized as entities (things) that are to be manipulated. These entities generally have relationships to other entities, and that leads to the emphasis on design artifacts such as UML class diagrams. In a service-oriented architecture, the software components are primarily organized as tasks (actions) that are to be performed. These tasks are generally designed to function as steps in more complex processes, and that leads to the emphasis on design artifacts such as BPMN diagrams. Businesses use software to automate business processes. Business processes do involve Nouns (Objects), but they are generally more concerned with Verbs (Services). Let me explain: Most businesses process forms of one sort or another. In general, manipulation of the form (an object) is not the primary concern of the business; the primary concern of the business is to perform a set of tasks (services) based on the contents of the form. If the software components are packaged as distinct services, the mapping between the business requirement to "process the form" and the software implementation of the process is relatively straight forward. This clean mapping between requirements and implementation results in solutions that can better respond to changing requirements over time (Trust me, all business requirements change over time). Sun's Tim Bray has recently expressed his opinion that the term "SOA" is meaningless, and that he prefers the term "Web-style". With respect to Tim, I disagree with his opinion. I do not agree with Tim that "Web-style" is a better term than "SOA". I agree with Tim that the term SOA has:"become damaged, weakened by over hype, over use, over promise (and) under deliver", but unlike Tim, I think that I can "explain what the difference is between SOA and Web services". Web services are a protocol specific form of service. To implement an SOA you must eventually pick a protocol, but it needed be a Web oriented protocol. Tim asks for "an explanation that's meaningful in terms a programmer can understand, so a programmer can go and build one of these things". Perhaps it is my own arrogance or naivete, but I think my explanation is a darn good start. In my experiences with many developers, I have found that explaining how to design and build SOA solutions is not any more difficult or "verbose" than it was to explain how to design and build Object-Oriented solutions. I confess that I do resort to "paragraphs and paragraphs (of) prose", but everyone who knows me understands that I always resort to paragraphs and paragraphs of prose ;-) But if Tim is right, and the term SOA has become a dead alabatross, then I'd like to offer an alternative to "Web-style": How about Process Oriented Architecture? Kind of has a nice ring to it; Don't you think? Regardless of the acronym or term that we use to describe it, the point remains the same: If your primary task is to automate a business process, then you should package (most of) your software components as verbs... er, I mean services. (cross-posted at Thoughtful Programmer) JSF and AJAX versus SwingPosted by johnreynolds on May 11, 2006 at 03:21 PM | Permalink | Comments (4)Evan Summers wrote a very good blog on "Swing versus everything else" a few days ago, and it started me thinking... Many heated battles have been fought in the war between browser-based applications and "stand-alone" applications... and when a new skirmish flares up it often brings to mind lyrics written by (Country) Joe MacDonald back in the 60's: "And it's one, two, three, The roots of this User Interface war go deep to an era long before Java existed... the war is really about the best way to implement the client aspects of client-server computing: Dumb-terminal versus Smart-terminal. I've said it before, and I will say it again, a computer that is not regularly connected to the Internet is not of much use to most people. To quote Sun's motto: "The Network is the Computer"... and that makes the device that you sit in front of a glorified terminal. At this point in time, I believe that the substance of the battle between JSF and Swing is mostly over the amount of functionality that an application possesses when it is not connected to The Network:
My belief that The Network is at the root of the war was reinforced on Wendesday when I got a sneak peak at Oracle's ADF Rich Internet Components at the Oracle Developer Day held here in Austin. The newest components are snazzy-looking, AJAX enabled, and with Tools like JDeveloper it is very easy to create non-trivial applications with them. From a presentation on NetBeans and Matisse presented by Greg Sporar at Austin's JUG a few months ago, I also know that it's pretty easy to create non-trivial applications using Swing components. If you will grant me the latitude of gross generalization, the biggest difference (from an architect's perspective) between a Swing application and a JSF application lies in where the bulk of the application logic is executed... on the client (Swing) or on the server (JSF). No doubt we should quibble about the phrase "the bulk of the application logic"... It's quite possible to build a very "thin" Swing front-end on top of Web Services, and with more and more client side Javascript the AJAX components can seem to be pretty "thick". Add to this equation the use of Derby-in-a-browser to provide offline capabilities and I am not left with much of a distinction between Swing and JSF clients. So what are we fighting for? I think it is easier to say what we are fighting against... We are fighting against having to use wildly different programming styles in a single application. I say "We", because I think this is the goal of both the JSF and the Swing camps. Swing advocates obviously like the ability to do everything in Java and they hate markup (except for Josh Marinacci and Ethan Nicholas). JSF advocates are much more markup-tolerant, but they want to hide all the the markup ugliness (and Javascript) within nicely wrapped packages. If you can get past these differences, then you will find that the client-side JSF event-handling-logic is not all that different than Swing's event handling logic. So is either side ever going to "win"? I dearly hope that they both do... and I pray that both sides don't destroy each other or: "Whoopee! we're all gonna die." John Gage's Ad-Hoc Keynote - WCIT2006Posted by johnreynolds on May 05, 2006 at 05:55 PM | Permalink | Comments (2)Senator Kay Bailey Hutchinson (R. Texas) was not able to make it to Austin's WCIT2006 for her Friday Keynote Address (due to a late Senate vote), so John Gage (Chief Researcher and Vice President of the Science Office for Sun Microsystems) pitched in with a delightful Ad-Hoc presentation. John had spoken at earlier sessions, and given that he has a lot to say he took full advantage of the opportunity to engage a larger audience (the hall was packed in anticipation of a speech by former US Secretary of State Colin Powell)... John easily filled his alloted time, and had to be gently ushered away from the microphone by WCIT2006 CEO Glyn Meek. John took us on a journey to many of the countries represented at the convention by enlisting Google Earth. As he flew between continents, he pointed out and zoomed in on the homes of fellow presenters and on the future site of 2008's WCIT in Kuala Lampur... and then he demonstrated how the tool could be used to visualize important data... for example the locations of reported Avian Flu incidents. If Avian Flu spreads as many fear, the first signs are going to be from the undeveloped nations, from the mostly remote rural areas where people live in closer proximity to animals... For our own sakes we need to build out the world's networking infrastructure - starting with the poorest countries first - to insure that we know what is going on in those locales... We need to hear the news of disease outbreaks as soon as possible to prevent the feared pandemic (a compelling argument).
Pardon the dramatic all caps of the previous sentence... but you really ought to check this tool out... By graphing Child Survival Rates and GDP per capita income for regions (and individual countries), you can visualize dramatic trends that have taken place over the last several years. You can see countries that were once poor with high child mortality rates blossom in both wealth and health... and you can also see countries where wealth has increased, but health has not. John makes a compelling point that tools like this can be used to strip away deciet and expose the truth... it is painfully clear which countries have successful health/wealth policies, and which do not. Knowledge (not raw information) is power, and gapminder's tools help transform raw information into knowledge that people and governments can use to the benefit of all... John's passion for ICT (Information and Communication Technology) as a tool for a better world is contagious, and nobody seemed to mind that he over-ran his allotted time slot... We all wish he could have spoken longer, and with respect to Senator Hutchinson... I was kind of glad that she missed her plane. Thanks John... You've helped rekindle hope that ICT really can make a difference. Security and Privacy - WCIT2006Posted by johnreynolds on May 04, 2006 at 12:30 PM | Permalink | Comments (2)
I snapped this picture on the way into the Austin Convention Center this morning: The row of police motorcycles stretching down 4th Street was quite impressive... and it is indicative of the heightened sense of security at events in the US since 9/11. All of the volunteers for this year's event had to undergo background checks by the FBI... No exceptions. That's a really harsh requirement when you are so reliant on volunteers to conduct business... it was impossible to accept any of the many last minute offers to help. Privacy and Security are inextricably linked. You cannot have true security unless you know who you are dealing with, and that makes it impossible for anyone to be truly anonymous. My sense is that we in the US are alone in our stubborn insistence on anonymity. In Malaysia all citizens have been required to carry identification papers since the nation's independence, and as technology improves they have constantly upgraded these ID cards. I was told that the Malaysian smart-ID card has been adopted by nations across the globe. Our US forms of ID are getting better, but we still fight the establishment of a National ID card. Instead, we complicate the task of identity documents by mandating that each State upgrade their own driver's licenses (the Real ID act). To me, this seems like a lot of smoke and mirrors to preserve a fictional concept instead of meeting our real ID needs. Security at the conference is pretty tight (we have many dignitaries attending), but it is still dependent on a lot of people standing around and looking at badges. I believe there were plans at one time to set up RFID readers for the badges, but it was impractical for some reason... so we rely on people. I must say that the reliance on people to check badges was a boon for me: I love to watch people, and standing at the escalator in my "official" staff T-shirt (black, of course) gave me a legitimate excuse to stare at individuals as they walked by. I did not get to hear any of the great keynote sessions, but I did get to have conversations with several interesting attendees. Of course, this points out why people should not do the task that I was performing. I was diligent in my efforts to check badges, but I was also easily distracted by interesting people (and as my wife knows... I am guilty of looking at pretty women). Perhaps one of the biggest distractions was the incredibly cute bomb-sniffing dog that was working the floor. Wherever the dog went, a crowd gathered... all focused on the dog (including members of our police department). Even when I was truly focused on the badges, I was relying on color coding... if the color was right I let it pass. I could not check the biometric information on the badges (the picture) to verify that the badge really belonged to the person who was wearing it, and truth be told someone could have easily used a colored piece of paper to deceive me. Obviously for real security at our conference we would need something like the technology in the Tom Cruise movie "Minority Report" (retinal scanners are pervasive, and identify you wherever you go). We would have to sacrifice privacy for security: Is the price of real security worth the benefit? Maybe security is worth the loss of privacy, maybe it isn't... and that is one of the topics that the World Congress of IT is discussing in Austin this week. Exchanging Innovative Ideas - WCIT2006Posted by johnreynolds on May 03, 2006 at 11:59 AM | Permalink | Comments (0)My memories of Tuesday's WCIT2006 Innovation Exchange are a bit of a blur, but it sure was fun. I volunteered to help out, and was assigned to help usher speakers to and from the podium... We started at 8:00 am, and ran non-stop until 6:00 pm... 17 speakers from Texas, Malaysia, Australia, Korea, Taiwan, Cambodia, Australia, Canada, and Mexico... and that was in only one of three meeting halls. The Innovation Exchange was coordinated by Rebecca Judis... who volunteered for WCIT2006 last year but ended up as a Vice President for the convention ( you should always be careful what you volunteer for... it can end up taking over your life). The pattern for the Innovation Exchange was the "Venture Capital Pitch"... 25 minutes to sell yourself and your idea to potential investors or partners. My meeting hall was filled with a mix of governments and companies... come and do business in our country, and come do business with my company. I learned a great deal... Malaysia is like Silicon Valley but with Hawaii's climate; Koreans work too many hours a week, but that's changing; Cambodia is slowly but surely recovering from the Khmer Rouge; Mexico graduates 34,000 programmers a year. I took notes, but the sessions have still blended in my little gray cells, so I appologize in advance for any mistakes. Some of the business pitches really roped me in... these were marketing pitches, not technical pitches... so they really focused in on relevence: Why is this technology useful? What problem will this software/hardware solve? Joel Trammell did a great job of explaining NetQOS by using an analogy of "The mayor and city traffic": When a reporter asks the mayor "How's traffic today?" the mayor needs to be able to say "Pretty good" or "Really awful", and have a short justification... Outlining all the road closures and construction delays is overkill... the mayor needs something simple like transit time: "Traffic is pretty good, the average commute today is only 20 minutes". Mark Spiloto pitched his company iKnowWare (pronounced "I know where")... a device agnostic view of what you need to know based on business rules, privledges and personalized views. Mark had a side-splitting video for their product... hopefully he will post it on iKnowWare's web site. José Luque of Merkatum blew me away with their facial recognition system. His small startup created a database for the state of Florida that contains all driver license photos (and other biometric information)... it is currently the largest facial recognition database in the world, and they can match faces to photos in 4 seconds. What intrigued me by the pitch was Merkatum's intent to offer biometric recognition as a web service. If they get the funding to pull this off, they will be able to offer a very low cost solution to any company or agency that has been mandated to provide biometric verification of identity. I had helped José get his laptop ready for the presentation the day before. He is a very charming person, and we chatted a bit about identify theft... we have both been victims. Although there are privacy concerns, the ability to more reliably prove that "I am me" before executing a transaction is very appealing (I hope these guys get rich). Wayne Karpov of YottaYotta tailored his pitch to the convention's topic of IT and Health Care. Wayne made a very compelling argument that Health Care costs can be reduced by managing many hospitals as one... and that is an IT problem. If the databases of many hospitals could appear to be one giant database, then it would be fairly easy to write applications to manage across the multiple entities. That is essentially what YottaYotta's product does: High Performance, Resilient Global Data Sharing. Wayne also clued us in on what a Yotta is... it doesn't have anything to do with Jerry Sienfeld. A Yotta (1024) is approximately the number of snowflakes that fall on Canada in a calendar year (That's a yotta snowflakes!). James Balestra of Safefreight showed off a nify "brick" that contains a GPS receiver and a tracking transmitter that is smart enough to switch between cell and satellite signals (satellite is way more expensive to use than cell). The brick can be attached to a truck, trailer, shipping container (you name it) and transmits information back to the company's home base. Various sensors are available (temperature, motion, etc.) and Safefreight supplies easy to use software that makes it very easy to generate views, reports, and exceptions. For example, the brick can generate an alert if its temperature exceeds a range, or if the trailer goes outside a pre-determined area. Peter Neve of Fieldworker pitched his company's device agnostic software development platform for mobile workers... He told us that Fieldworker had originally shipped software for the Apple Newton... and I am impressed with any company with that sort of longevity in the hand-held market. Marshall Vanderburg's Municipal Software Corporation has a sweet set of packaged applications for local governments that can be easily tailored to meet custom needs. Who knew that automating beaurocracy could be so pleasent? Paul Hanson's Anyware Group has a great solution called ROAM (Role Oriented Access Management) that securly exposes legacy applications via any Web Browser. Paul is a hoot to listen to... he told us that a Forrester analyst compared him to a Ginsu Knife salesman... and I could see the resemblance ;-) Daniel Gonzales of Sinapsis specializes in building "captive" off-site development teams in Mexico. Mexico has some very good programming talent, and it is in the same time zone as much of the USA. With a bi-lingual project manager, Mexico is in many ways more attractive than off-shoring development to India (for example). As a US programmer, I am (of course) negative about off-shoring any programming jobs... but I do have to admit that there are many great programmers all over the world. Daniel's company has done a good job of enabling Mexican programmers to get work from the US by lessening the risk to US companies. The efforts of Sinapsis should help improve the economy of Mexico, and the standard of living of Mexicans... That's a good thing. The bad thing is that US programmers lose jobs... Malaysia has great programmers, Korea has great programmers, Australia has great programmers, Taiwan has great programmers, Mexico and Canada have great programmers. There is talent out there, and they want work from the US. If we in the US want to continue to be programmers, we are going to have to figure out how to stay competitive... we have to provide more value than our colleagues in other countries, or they'll get the work. On a more positive note, there really are a lot of clever and gifted people out there in the world, and we can benefit from their efforts (as they have benefitted from our efforts). Many of the speakers fondly referred to Thomas Friedman's The World Is Flat. From what I saw at WCIT2006 on Tuesday, the world is also exciting... truly a worthwhile way to spend a day. Internet-Access For All - WCIT2006 in AustinPosted by johnreynolds on May 01, 2006 at 06:08 AM | Permalink | Comments (2)One big focus of Austin's WCIT2006 is to develop strategies to bridge the digital divide between "Us" (people who are able to read this blog) and "Them" (people who can't access the Internet). I am an affluent middle-class, well-educated white-guy who lives in a big city in the USA... In a world of "haves" and "have-nots" I am definitely one of the "haves". I don't just surf the Internet's ocean; I swim in it, dive beneath the waves and explore the depths. Internet connectivity is pervasive in my world (desktop, laptop, PDA, mobile phone, public kiosks, etc.) and I feel lost without a good Wi-Fi signal.
Two close friends of mine moved to the Caribbean island of Nevis in the early 1990s to help build and open a Four Seasons resort. Nevis is a near perfect tropical paradise... a wonderful climate, fertile soil, and some of the friendliest and most beautiful people that you will ever meet. In such a climate, people's needs are simple, and the majority of Nevisians live in very modest dwellings... many don't have indoor plumbing and most are very small.
Internet access has a profound impact on sheltered societies: Everyone can talk to everyone and nothing stays secret for long. This blurring of borders leads us to a whole new set of tricky cultural issues to contend with... Governments and businesses need to craft policies to prepare their citizens to become active players in the new digital economy (or they are likely to become victims of it).
On Wednesday morning a panel will tackle questions related to the "global impact of digital access". The panel includes Steve Rohler (Accenture), John Gage (Sun Microsystems), James Goodnight (SAS), Teresa Peters (Bill & Melinda Gates Foundation), and Yeongi Son (Korean Agency for Digital Opportunity). On Wednesday afternoon another panel will tackle the "impact of digital access on education throughout the world". This panel includes David S. Byer (National Coalition for Technology), Veronica Kgabo (Diepsloot School, South Africa), Guillermo H. Le Fosse (Competir, Mexico), Lorie Roth (California State University), and Dan Updegrove (University of Texas). WCIT2006 is just a four day convention, so don't expect miraculous pronouncements that transform the world... But it should be very interesting to hear what everyone has to say. | ||
|
|