Comments
litl_phil wrote: While it's nice that Google and Acer share the vision of cloud-based computing, it's also worth noting that we at litl already have a webbook on the market (available at litl.com) that runs our own cloud-based OS. Unlike Chrome, litlOS is focused on creating a new and better web experience for the home, so we don't have the usual browser interface, we have our own innovative UI. In conjunction with easel mode (litl's inverted-V position) and our growing cohort of litl channels (special apps t...
Cloud Computing
Conference & Expo
November 2-4, 2009 NYC
Register Today and SAVE !..


2008 West
DIAMOND SPONSOR:
Data Direct
SOA, WOA and Cloud Computing: The New Frontier for Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
GOLD SPONSORS:
Appsense
User Environment Management – The Third Layer of the Desktop
Cordys
Cloud Computing for Business Agility
EMC
CMIS: A Multi-Vendor Proposal for a Service-Based Content Management Interoperability Standard
Freedom OSS
Practical SOA” Max Yankelevich
Intel
Architecting an Enterprise Service Router (ESR) – A Cost-Effective Way to Scale SOA Across the Enterprise
Sensedia
Return on Assests: Bringing Visibility to your SOA Strategy
Symantec
Managing Hybrid Endpoint Environments
VMWare
Game-Changing Technology for Enterprise Clouds and Applications
Click For 2008 West
Event Webcasts

2008 West
PLATINUM SPONSORS:
Appcelerator
Get ‘Rich’ Quick: Rapid Prototyping for RIA with ZERO Server Code
Keynote Systems
Designing for and Managing Performance in the New Frontier of Rich Internet Applications
GOLD SPONSORS:
ICEsoft
How Can AJAX Improve Homeland Security?
Isomorphic
Beyond Widgets: What a RIA Platform Should Offer
Oracle
REAs: Rich Enterprise Applications
Click For 2008 Event Webcasts
Everyone wants to lower their capital expenditures and increase operational efficiency - it's a sign of the times. The economy of the past 12 - 18 months has forced all organizations to do more with less and become more efficient. While everyone can identify with the request to do more with less, th...
SYS-CON.TV
Web Services and ZOOBA
Web Services and ZOOBA

In the history of technology, the growth rate of the World Wide Web (W3) was unprecedented. The Internet spread faster and matured more rapidly than the TV, the radio, or even the light bulb. It was the "big bang" phenomenon of information. W3 helped transform global business into a giant, borderless exchange, with information valued as currency.

In the course of its rapid development, the principles of distributed computing, component engineering, and reuse were very important. That's evidenced by proposals ranging from application-to-application integration (A2A), business-to-business commerce (B2B), and collaborative computing to message-oriented-middleware (MOM), n-tier architecture, object-oriented analysis and design (OOA and OOD) techniques, and more. Some of those initiatives have been successfully implemented, including the component object model (COM) and Java 2 Enterprise Edition (J2EE), Enterprise Java Beans (EJB), Java Message Services (JMS), and Java Naming and Directory Interface (JNDI), as well as CORBA Component Model (CCM) and others. All offer very useful answers for solving specific problems.

The need to address certain high-level issues makes it necessary to develop a more encompassing framework and requires us to investigate the field of distributed computing on a macro-level. Moreover, there are many assumptions used in current models. By questioning those assumptions and looking at the problems from a different angle, we're encouraged to seek a new model.

In this article, I'll discuss Web services and P2P technologies and try to answer the following questions:

  1. What are Web services?
  2. Why are they steering us in a new direction?
  3. Where do they connect with standards like Java and XML?
  4. Which established conventions will they affect and likely transform?
  5. How are they creating new paradigms for distributed computing?
We'll also look at a new software integration model called ZOOBA, which stands for eXtended Object-Oriented Broker Architecture (see Figure 1).

What Are Web Services and P2P?
Web services embodies a new approach to reusing, component engineering, and distributed computing issues from both technical and business perspectives. It's based on the notion that software, such as systems, applications, programs, and other computing activities concerning objects, messages, and documents, can be modeled into services. Large events can be broken down into smaller discrete activities, while small actions can be grouped to form units of work. In general, any software can be transformed into Web services if it exhibits the following characteristics:

  1. It provides interface(s) through which other programs can invoke it.
  2. It is registered with and can be located by one or more service registries.
It's also important that Web services rely on standard technologies. For example, XML is recognized as the lingua franca for information on the Internet, and HTTP is the default protocol for sending and receiving information for many applications and browsers. Web services depend on the following technologies:
  • Simple Object Access Protocol (SOAP; see Listing 1)
  • Web Services Description Language (WS DL)
  • Universal Description, Discovery, and Integration language (UDDI)
Electronic Business XML (ebXML) is similar to SOAP/WSDL/UDDI, and is also an important ingredient for Web services. Web services' default transmission protocol is HTTP [though FTP and e-mail protocols are possible alternatives].

The current concept of distributed computing is based on a server-centric model. It originated in the IBM mainframe model, where numerous dumb terminals were attached to a powerful mainframe. It grew into a client/server model, multiple workstations connected to server(s). The current W3 model is a browser-based version of the server-centric model, where dumb terminals have been replaced by Web browsers and mainframes by Web servers. The server-centric model's strength lies in the centralization of data, but it has drawbacks. Those issues become particularly clear when eight abilities are considered: scalability, availability, manageability, compatibility, security, stability, portability, and flexibility.

The peer-to-peer (P2 P) model approaches distributed computing froma completely different angle. Under P2P, every computing element is treated as parallel and there's no predefined hierarchy. A computer can be both the server and the client. A simple example is a music- or file-sharing community. When a user downloads a file, it plays a client role. When that user redistributes the file, it changes to a server role. Project JXTA (Juxtapose) is an example of the P2P model.

The Paradigm Shift
Web services and P2P models are disruptive technologies that represent a paradigm shift for distributed computing. While Web services help reduce chaos by providing a standardized directory service as well as coordinating transactions and interactions between end points, P2P is an improvisation-based model. That's a radical departure from the deterministic model on which CORBA is based. Under P2P, there are no predefined end points for Web services.

Let's look at a hypothetical Customer Relationship Management (CRM) application. Mr. Johnny Needata needs to respond to his client's request for quotes. He wants to use his desktop CRM tool to retrieve the latest quote. Ms. Jane Hathdata is his peer on the company's local network who just downloaded the latest sales quote to her workstation from a remote headquarter server for a different deal. If the P2P capability is enabled on both their machines and the central server is busy or under heavy load, Johnny's CRM application can quickly fetch information from Jane's computer located on the same local network and avoid the server bottleneck problem. As the number of users increases, there'll be more copies of data on the network, and the available data sources will multiply. In other words, the increased load may enhance the overall performance of the complete system. This is in sharp contrast to the server-centric model, where the system's performance degrades as the load increases.

This doesn't invalidate CORBA. It only shows that the model needs to be extended so it will function for nondeterministic situations or it will risk becoming obsolete. ZOOBA is a tower that builds on the CORBA foundation, retaining all existing features and supporting several new services, including the following:

  1. Auction service
  2. Intelligent direction service
  3. Simplification service
  4. DL2XML
  5. Support for portable and networked device aware (PANDA) service
  6. Collection service
  7. Concurrency service
  8. Event service
  9. Externalization service
  10. Interoperable naming service
  11. Licensing service
  12. Life cycle service
  13. Notification service
  14. Persistent object service
  15. Property service
  16. Query service
  17. Relationship service
  18. Security service
  19. Time service
  20. Trading object service
  21. Transaction service
Re-examining the CRM example, ZOOBA's advantage is apparent. Instead of binding to a single, specific host, the CRM tool's Object Request Broker (ORB) can advertise a request for data on the network, using a protocol such as IP broadcasting. Based on feedback messages, the ZOOBA model can facilitate intelligent decision-making for information retrieval based on any number of criteria: resource cost, network speed, security settings, data reliability, locality, geography, time, and length for the operation.

Web Services' Key Components
You must have a good understanding of Web services to succeed in building reusable service components. That knowledge will help you classify modules based on functions and construct a component model. Elements of Web services can be grouped into three classes with respect to the roles they play:

  1. Web services metarepository
  2. Web services engine
  3. Web services platform
The Web services metarepository is the registry for publishing and advertising the availability of Web services. UDDI is a prominent implementation. It behaves like a phone book with categorized listings of companies or entities:
  • The White Pages include information about an entity's address (possibly in URL format), contacts, and known identifiers.
  • The Yellow Pages list companies and their services under standard industry categorizations.
  • The Green Pages keep the technical information about Web services' entry points and URLs to various information discovery mechanisms. Such information includes, for example, unique IDs, file locations, descriptions about the service, and links.
The metarepository holds metadatas, pointers to actual services implemented by the Web-service engine. It's analogous to the factory pattern used in OOA and OOD. It churns out "objects" (URLs, pointers, and handles to services' APIs) without needing users to specify which "classes" (types of services) to use. While the Web service metarepository is the facade, the Web service engine is the service implementation. It holds the actual service logic and performs in accordance with requests.

Web services translates into distributed computing. Because it's a good practice for distributed systems to be loosely coupled, it's important to not expose Web services' internal properties and operations to the outside unnecessarily. This model is similar to EJB, which has the home interface (metadata), the remote interface (handles to APIs), and the bean class (implementation). Web service metarepositories can also offer additional functions, such as policy and rule management, context awareness, and workflow automation features. The J2EE model calls for a container that manages EJB's persistence, life cycle, transaction properties, and other attributes. The Web service platform provides infrastructure-level functions for Web services modules. It needs to address common-denominator issues, such as binary compatibility, interoperability, portability, state and session management, message delivery, and dynamic scaling. Dynamic scaling is more practical than the conventional concept of scaling because:

  1. The demand for Web services tends to be unpredictable.
  2. There are costs associated with adding capacity and resources.
  3. Business is driven to optimize the use for all resources.
Web services provides a model that adjusts to its surroundings and responds to changes in external conditions - i.e., using high performance resources during high demand and shifting to low-cost resources when demand is low.

New Directions
There are some good Web sites dedicated to Web services and related technologies:

By examining what has occurred in the market for Java, XML, HTML tools, and other areas of the Internet, you can see the likely future of Web services. UDDI and WSDL create an interface-driven model so multiple Web services providers can provide seemingly identical Web services using different implementations. Web services could become commodities, leading to the creation of a Web services marketplace sponsored by service-registrars. "Web services commoditization" means that the only way to differentiate one provider's product from another's is cost, although providers will try to distinguish their offerings by stressing quality, reliability, innovation, and other advantages.

There's been a lot of talk about the convergence of Java and XML technologies. That trend can be observed in the increasing effort to develop persistence mechanisms that bridge the gap between the "noun" (XML) and the "verb" (Java) of Internet computing, as shown by Java APIs for XML - Java API for XML Processing (JAXP), Java API for XML Data Binding (JAXB), Java API for XML Registries (JAXR), Java API for XML Messaging (JAXM), and Java API for XML-based RPC (JAX-RPC) - along with XML Meta Interchange (XMI). Since J2EE is one of the primary models supported by the OMG, those efforts, in conjunction with IDL2XML, could expand the operational envelope for distributed computing.

Conclusion
P2P, Web services, and ZOOBA will become significant technologies in the next wave of Internet development. Although still in their early stages, they show that distributed computing doesn't need to be hierarchical and static. Instead, a dynamic, fluid, and "democratic" model will be a viable alternative. This new framework could use resources more efficiently because it stresses improvisation; and our example shows it can scale intelligently according to demand. Changes on the Internet can happen quickly - and unexpectedly. The self-regulated system will excel because it tends to be the most flexible and adjustable solution.

Suggested Reading

  1. "Open Net Environment (ONE) Software Architecture, An Open Architecture for Interoperable, Smart Web Services." Sun Microsystems, Inc., 2001.
  2. "Web Services White Paper: A Technical Overview." IONA Technologies, PLC, March, 2001.
  3. "XML Metadata Interchange (XMI)," Sponsored by OMG.
  4. Bartlett, D. "CORBA Component Model (CCM):, Introducing Next-Generation CORBA." IBM Developer Works, April, 2001.
  5. Gao, R. "The Next-Generation Internet." eAI Journal, May 2001.
  6. Gao, R. "JMS, A Portable Framework for Connecting the Enterprise." eAI Journal, November/December, 2000.
  7. Cobb, E.. "CORBA Components: The Industry's First Multi-Language Component Standard." BEA Systems, presentation at OMG meeting Oslo, Norway, June 16, 2001.
  8. "XML Protocol Comparisons." A Web document hosted by W3.org's XML Protocol Working Group
    About Raymond Gao
    Raymond Gao is an E-Commerce architect with Sun Microsystems, Inc.’s dot-com practice. His primary areas of work involve using Java, XML, Linux, and object-oriented technologies for e-commerce architecture and distributed computing projects at the enterprise-level. Ray has spoken at leading technology conferences and has contributed articles to leading Java, Linux, and e-business journals as well as authored numerous white-papers. He also wrote the popular CoffeeCup utility, a software program for Java developers which can be downloaded

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

SOA World Latest Stories
If you are like me, you are regularly receiving unsolicited email from various quarters, telling you about the latest and greatest SEO solutions on the planet. Just buy the book, or guide, or download the promotional whitepaper and this expert will offer you the latest "Secrets" to sea...
There's a lot of talk about how we need to focus on our buyers' issues and provide them educational insights to help them learn what they need to know to make buying decisions. Heck, I say it in my book...in several places, I think. I've said it on this blog, and I'll continue to say i...
This past weekend I set out explore some of the extension capabilities of Google Wave. One of the weaknesses that have been identified by many is the lack of integration with email. For me, in particular, because Wave is new, many Waves are being orphaned as those playing and testing o...
More good news for cloud computing! Google last week released its once mysterious Chrome Operating System to open source. Chrome OS, available in 2010 – is a web-based operating system that promises to boot up super-fast on a netbook – way faster than the time it takes to start your ba...
In CloudBerry Lab we are striving to make our customer service better. In this competitive market with the abundance of free offerings this is the only way to stay afloat. One of the ways to keep customers happy is to be very responsive when it comes to support request resolution. Shou...
We talk a lot about social media on Marketing Trenches. And for good reason – Social media seems to be at least one item on the agenda for about 90% of the meetings we have these days. Everyone wants to run 100 miles an hour to do something on Facebook, LinkedIn and Twitter. I wrote...
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON Featured Whitepapers
ADS BY GOOGLE