|
COVER FEATURE
Expect More Service
By Kelli Wiseth
A new development architecture and Web services unite to streamline business process management.
"One small step for technology, one giant leap for business." That's how Anne Thomas Manes characterizes service-oriented architecture (SOA) in general
and Web services technology in particular. Manes is vice president and research director for Burton Group's Application Platform Strategies practice, which focuses on SOA and Web services.
SOA is an architecture that implements business functionality as a set of shared, reusable services, says Manes, "and Web services is a service-oriented integration technology that relies on standard internet formats and protocols."
Rather than continuing to develop applications in isolation as monolithic blocks of code, adopting SOA as a design pattern can create a flexible infrastructure of individual business functionality, which can be assembled and disassembled to define flexible, end-to-end business processes that rapidly adapt to quickly changing business strategy. The chief benefits of SOA include reusability, flexibility, adaptability, and support for multichannel deployment and multiconstituency business models, says Manes.
The immediate benefit of such an architecture is integration. "It's all about integration," explains Manes. "Integration can account in many cases for more than
70 percent of an IT budget. If you can make integration simpler and easier, you're going to save lots of money in your IT budget."
Organizations of all sizes and kinds are looking to gain the benefits of SOA, but companies that have the most to
gain immediately, according to Mike Gilpin, Forrester Research vice president and research director, are businesses in which IT plays a strategic role in the business model. Some examples are banks and telecommunications companies, whose value proposition is directly related to the successful implementation of IT to deliver the company's core service or product.
Furthermore, says Gilpin, "the more channels through which a company does business and the more business each of those channels supports, the more motivated the business is to get a handle on
all those customer interactions." For example, the typical bank interacts with its
customers via the Web, call centers, ATMs, interactive voice response systems, and branch automation systems. "Historically, those systems were all stovepipesthey didn't really talk to each other," says Gilpin. Better integration creates better customer experiences and drives greater customer
satisfactionand, in turn, greater revenue.
SOA simplifies integration and application development as it optimizes reuse of application functionality across multiple systems. The truly attractive part of SOA, when compared with previous attempts at components-based architectures, is that SOA relies heavily on standards-based Web services, which don't place any requirements on the underlying technologies. "Web services are, above all else, a standards-based wrapping technology," says Claire Dessaux, director of Product Management, Oracle Application Server.
Forward-thinking companies can leverage both enterprise grid computing and SOA to bring greater return on existing technology assets. SOA and Web services are optimized for deployment to an enterprise grid. Lower-level granularity in application design optimizes the allocation of computing resources based on the actual demand of a particular business functionality at a given time. Says Gilpin, "Companies looking at SOA and Web services are looking for the flexibility of the software architecture and the opportunity to reuse those services and have the same service be used in multiple channels. A Web service also happens to be a better unit of work scheduling from a grid perspective, [and] being able to implement Web services technology for enterprise grid computing is an additional benefit."
The benefits of SOA, Web services, and enterprise grid computing could go even deeper than that, according to Dessaux. She points to a core, shared attribute in both SOA and enterprise grid computingthe ability to virtualize. In an enterprise grid, computing resources are virtualized, allowing them to be automatically redistributed as needed. In much the same way, SOA virtualizes business functionalities and processes. In this way, explains Dessaux, "SOA and grid computing complement each other very well. I think you'll see them become two fundamental characterstics of the flexible enterprise."
Starting with Better Integration
The benefits of integration can be profound for just about any business that relies on information and systems, as Israeli retailer Sakal Group discovered. Composed of seven business divisions, Sakal Group is the largest privately owned retail chain in Israelwith duty-free shops in Israel's airports and seaports, as well as more than 200 points of sale throughout Israel.
At one time, Sakal Group's retail, logistics, marketing, and warehousing systems all functioned as separate silos. In addition to trying to obtain better information about operations, Sakal Group wanted to expand its business and offer online retail and auction systems. The company decided to centralize its applications into a single integrated system for managing all the group's activities.
Today, Sakal Group's information is centralized on an Oracle9i database, with Oracle9i Forms applications integrating back and front office. According to Solly Sakal, founder and CEO of Sakal Group, "The goal was to improve our operations in terms of sales, as well as to improve our customer service," and the integration effort, undertaken by Coral Computer Systems (a leading development company in Israel), resulted in considerable improvement in customer satisfaction.
Sakal Group's systems integration project resulted in better customer satisfaction by providing up-to-the-minute information about orders, for one thing. And the integration project provides more benefits than better inventory control and
logistics and happier customers. The system now uses a
data-mining application (using Oracle9i Application Server Discoverer) that supports tactical marketing decisions, so Sakal can tune its product mix and target sales effectively, using quality information.
Before Web Services
The concepts on which Web services technologies are built aren't new. In fact, says Burton Group's Manes, "Web services technology is based on a whole bunch of past history
in distributed computing technology." Manes cites the late-1980s distributed computing environment (DCE) and,
more recently, Common Object Request Broker Architecture (CORBA) as examples of previous attempts toward distributed application infrastructure.
"We learned a lot with each new iteration of distributed computing technology," says Manes, but there were always some significant constraints associated with the various initiatives of the past. For example, "most of these previous systems did not address cross-corporate-type operations. They were designed to solve interoperability issues within an organization, but not over the internet."
Earlier attempts at distributed computing were also tightly coupledchanging the service implementation would require any and all clients to also change, because in order for a client to use a service, it had to understand the object model of the service. "The problem with that is, Java objects are very different from Visual Basic (VB) objects, so services created in one model cannot easily consume or be consumed by the other model," says Manes. "One of the benefits of Web services is that you're not exposingor at least, you shouldn't be exposingan object model. Rather, you flatten out your object model into a very simple XML-based document."
With SOA, the overarching design principle is separation of interface and implementation, a principle that can be
put neatly into practice using Web services, says Manes. Web services technologies are being used to develop and deploy business services that adhere to an SOA pattern, exposing their service functionality through well-documented interfaces. And the best part is, Web services do
so using open internet-based standards (see the "Basic Web Services Standards" sidebar).
The core Web services stackWSDL, SOAP, UDDI, and XMLsupports the basic activities required of any distributed application system; that is, services must make
themselves known to each other somehow (generally by
registering in a UDDI directory), must provide information on how to invoke the service and what the service will return (the role of WSDL), and then must have a way to exchange data between Web services requester and provider over the network (the role of SOAP as a communications protocol). (These functions are called invoke, discover, and publish, and they map to WSDL, SOAP, and UDDI in the basic Web services stack.)
Vendors, including Oracle, are providing the infrastructure, development tools, and management consoles to support this set of standards. For example, Oracle Application Server 10g provides a standards-based platform for deploying Web services based on WSDL, SOAP, and UDDI, and also supports the J2EE component model defined by JAX (Java API
for XML) Pack specifications.
And Oracle JDeveloper 10g lets developers create business services using Web services, Java, XML, and other standard technologies, and provides built-in tools for working in this realm. For example, developers can use JDeveloper to easily create an Enterprise JavaBean (EJB) and wrap a Web service around it, by using visual tools and wizards.
Getting Started with SOA and Web Services Using Oracle
"Before you start to transform the way you develop new applications, you can use Web services technology as a way of interfacing with existing applications," says Forrester's Gilpin. It's just that sort of use that developer Eric Weiss sees as a key value of Web services in his work at Lawrence Livermore National Laboratory (LLNL).
"Being able to leverage existing code and services and expose them to any environment is a tremendous benefit," explains Weiss. This capability is especially important to NIF [the National Ignition Facility Programs Directorate at LLNL], says Weiss, because "it's such a large group, there are so many different technologies, so many different groups doing so many different things, and writing different appsyou wouldn't believe the number of little applications sprinkled throughout NIF."
The NIF Project is, in fact, the world's largest laser, and it's in the IT group supporting NIF that Weiss spends his time. The NIF mandate includes U.S. nuclear stockpile stewardship, energy research, science, and astrophysicsthe laser essentially simulates fusion and nuclear reactions, says Weiss.
Weiss's coworkers, Nick Dellamaggiore and Mark McBride, are also part of the LLNL central IT group. The projects they work on run the gamut, from travel- and HR-type applications to maintenance applications to scientific research applications.
Dellamaggiore works in Innovative Business and Information Services (IBIS), which deals with business applications, including a document routing and approval workflow application. McBride works in plant engineering, working on systems that keep track of and manage LLNL's assets, such as buildings and facilities.
|
Snapshots
Gluon Networks, Inc.
Petaluma, California, U.S.
www.gluonnetworks.com
Founded in 1999, Gluon Networks, Inc., builds and distributes the Converged Local Exchange (CLX), a powerful, high-capacity broadband-enabled central office switch for voice and data. Gluon's Element Management System (EMS) is the software that provides a common management and maintenance infrastructure for the CLX.
Lawrence Livermore National Laboratory
Livermore, California, U.S.
www.llnl.gov
Operated by the University of California for the U.S. Department of Energy, Lawrence Livermore National Laboratory (LLNL) is one of the world's premier scientific centers, conducting cutting-edge science and engineering research in the fields of national security, energy, biomedicine, and environmental science. LLNL manages the United States' nuclear stockpile through creative science and engineering conducted at its National Ignition Facility.
Sakal Group
Tel Aviv, Israel
www.sakal.co.il
Sakal Group is one of the leading companies in the field of consumer goods in Israel and is active in numerous markets. It specializes in electrical and electronic goods, fashion and footwear, and duty-free products. The group operates through a variety of marketing channels, including a local store chain, duty-free shops, and the internet.
|
Although Weiss, McBride, and Dellamaggiore work on disparate projects and applications, they all use similar technologies, including Java, and they work together and share information, both formally and informally. Despite the differences among the types of applications they've worked on, they've all used Oracle Business Components for Java (BC4J), a framework that helps developers build J2EE database applications, now part of the Oracle Application Development Framework.
As an example of his work with BC4J, Weiss points to an application that keeps track of what amounts to literally the multimillions of parts that make up the NIF laser. "The application includes a large set of BC4J J2EE objects that provide access to parts inventorypart numbers, manufacturer data, serial numbers, locations, whether the part is installed or not, historical dataall information about any part can be accessed through our system," says Weiss.
According to Weiss, his group is looking at Web services as a way not only to avoid rewriting the client
application, but also to expose the
parts management system to a much wider audience. "We work out the details of a contract between our application and theirswhat they're going
to provide us, what we're going to provide themand we'll expose our BC4J interface to the parts management system as a Web service."
The Road to Reuse
Reuse of technology assets and business functionality is a major business driver fueling the move to SOA, according
to Mike Lehmann, Oracle principal product manager,
Oracle Application Server. "Organizations want to reduce costs by adopting standards-based software built on top
of commodity hardware and operating systems," says Lehmann, "and they want to increase business responsiveness by focusing software development on reusable services that can be easily integrated."
"With SOA in general and Web services technology in particular, the potential for obtaining reuse [of application componentsin this case, services] is much greater than
it ever was before," says Forrester's Gilpin, "since service-oriented architecture doesn't care what the underlying technical implementation is, as long as the service interface mechanism is standardized and the semantics of interfaces are discoverable and documented in some machine-readable way."
Gartner Inc. Research Director Whit Andrews suggests that anyone evaluating potential Web services implementations ask potential application users (developer-partners) three simple questions to help determine which processes can most effectively be deployed as Web services:
- What information do you get
from us that you then put into an
application?
- What information do you get from us on which you run analyticsis there value in the information that can be gleaned programmatically?
- What application do you use that
is always on?
Answers to these questions will
help organizations identify and
prioritize functions that would make viable Web services, for optimal return on investment.
An Integrated Tools Approach
According to Gartner Vice President and Research Director Mark Driver, the next generation of application development tools will need to focus on service-oriented development by including very strong framework support, strong modeling support, and business process management. "One has to be able to
build composite applications from other software services, which includes the ability not only to expose and build
Web services but also to consume Web services and create composite applications from collections of software services," says Driver.
Over the next five years, Driver expects a major shift in Java developers, from today's code-centric type A early adopters to type B, more-mainstream developers who are
more 4GL (fourth generation programming language) style developers. By 2008, only about 10 percent of the 4.5 million Java developers will be "heads down" coders, says Driver.
Bruno Rossi and his team at Gluon Networks, Inc., are one such group of "heads down" coders who prefer to traipse through the code. Gluon Networks develops and markets next-generation networking products, such as a broadband-enabled voice-data switch, the Converged Local Exchange (CLX), for telephone companies.
Rossi is software architect of Gluon's Element Management System (EMS), which provides the common management and maintenance infrastructure for the CLX. The Gluon Networks EMS is based on a combination of Java, C++, SQL, and XMLand there are more than 3,000 files to manage and hundreds of Java classes, so it's no small project. According
to Rossi, Gluon chose Oracle JDeveloper for the Java and XML development because "most of our work is hard-core Java coding, and JDeveloper's code editor just felt better to our developers. Features like code templates and code insight make our developers more productive when coding complex Java programs."
For example, when Israel's Coral Computer Systems integrated Sakal Group's e-commerce site and business applications, the J2EE applications Coral developed (using Oracle JDeveloper) included Java, XML, SQL, PL/SQL packages, XSQL, and XSL files. According to Orit Leshem, team leader at Coral, "A major benefit of Oracle9i JDeveloper is
that we use a single tool to develop all
the application's components."
Independent consultant James Holmes agrees that an integrated development environment has its benefits: "No one wants to have ten tools." As the creator of the Struts Console and the first to integrate support for Struts in various IDEs (including Oracle JDeveloper), Holmes works on a wide variety of projects for large corporate clients. "The beauty of using Oracle JDeveloper is that
I can be the architect during the first three months of the project, during the design phase, so I can use JDeveloper to design the application from a high-level object perspective. And then I can transition into the implementation or development phase, all inside the same tool."
Beyond the Basics: Advanced Web Services
Over the long term, SOA and Web services promise to provide complete integration of business services functioning seamlessly, among enterprises, in far-reaching business process management and enterprise application integration scenarios.
Although basic Web services standardsthose in the lower part of the stack, such as WSDL, UDDI, SOAP, and XMLare solid, the standards in the upper reaches of the stack are still evolving. Oracle is working with the World Wide Web Consortium (W3C) and the Organization for the Advancement of Structured Information Standards (OASIS) on various emerging standards in the realm of advanced Web services, including specifications needed to coordinate and orchestrate transactions across multiple Web services (see the "Basic Web Services Standards" sidebar).
Forrester's Gilpin agrees that the standards in this area are not yet mature, and in the short term, companies that want to integrate at the process
level will be doing so using proprietary means. But, Gilpin adds, that's no reason companies can't get started today. "Companies can put their toe in the water and get a feeling for the technology with a few small integration projects," says Gilpin, "and then once they begin to see
how the technology works in their environment, they develop some
skills around it, and then, as the
technologies continue to mature,
they can move forward to more
ambitious projects."
Kelli Wiseth (kelli@alameda-tech-lab.com) is technology director at Alameda Tech Lab and Research Center.
|
Basic Web Services Standards
The complete realization of applications based on a service-oriented architecture implemented across multiple organizations and across the internet, all coordinating in a dynamic, transparent, fully integrated manner, is several years away. Although predictions about timing vary, almost everyone agrees that in order for it to happen, broad industry acceptance of Web services standards will be key. Here's a summary of key stable standards such as SOAP, UDDI, WSDL, and XML, starting with a quick look at standards bodies.
Standards Bodies
The two primary organizations that develop Web services standards are the World Wide Web Consortium (W3C) and the Organization for the Advancement of Structured Information Standards (OASIS).
Founded by the Web's inventor, Tim Berners-Lee, the W3C's stated mission is "to lead the Web to its full potential." That ambitious goal includes universal access, "to make the Web accessible to all by promoting technologies that take into account the vast differences in culture, languages, education, ability, material resources, access devices, and physical limitations of users on all continents." Among numerous other specifications, W3C shepherds key Web services standards (these are official W3C recommendations) including XML (and all related XML standards, such as XML Schema).
OASIS is focused on the business-to-business realm, its charter being to drive "the development, convergence, and adoption of
e-business standards." Among the Web services standards that
have been accepted by the industry at large, UDDI and SAML are both currently being managed by OASIS.
Playing a complementary role to the work of the standards bodies is the Web Services Interoperability Organization (WS-I), created in early 2002 by Oracle and other industry leaders to promote Web Services interoperability across platforms, applications, and programming languages. (In addition to its role in WS-I, Oracle is an active participant in all relevant standards bodies, including W3C, OASIS, and JCP. See "Oracle and XML, Web Services, and Java Standards," on Oracle Technology Network, otn.oracle.com/tech/xml/htdocs/standard.html, for more information.)
Rather than creating any new standard specifications, WS-I codifies use of existing standards in interoperable setsdefined by WS-I as profiles that comprise "a named group of Web services specifications at specific version levels, along with conventions about how they work."
The first profile, Basic Profile 1.0, was released in August 2003; it defines the stack of specifications and versions required for interoperability. More-advanced profiles, such as those that will be required to provide interoperable "advanced Web services," will build on the Basic Profile as a foundation. Oracle JDeveloper 10g contains support for this specification with testing tools that let developers test the compliance of their Web services against the WS-I Basic Profile 1.0 specifications.
Basic Web Services
So, what is a "basic Web service?" The Basic Profile 1.0
defines the essential components of a basic Web service. This profile encompasses SOAP 1.1, WSDL 1.1, UDDI 2.0, XML 1.0,
and XML Schema. This stack basically accomplishes the low-level tasks associated with defining, publishing, locating, and using Web services.
Universal Description Discovery and Integration (UDDI) specifies a platform-independent method to describe services, discover business services, and integrate business services using the internet. Developers can search public UDDI directories (a UDDI directory is like the Yellow Pages for Web services), available on the internet, or private directories to find available Web services. (Oracle JDeveloper lets developers directly access public UDDI registries over the internet, or incorporate private UDDI registries directly into the IDE to simplify development.)
Web Services Description Language (WSDL) is an XML-based language that's used to describe the interface, protocol bindings, and other important details of a Web service. Developers can hand-code WSDL files or let JDeveloper automatically generate WSDL as part of any JDeveloper project.
Simple Object Access Protocol (SOAP) is a lightweight, XML-based protocol that allows clients to invoke services over a network. Two broad communications styles supported include RPC (remote procedure call), which supports a request-response processing style, and message-oriented for asynchronous communication. This protocol is used to communicate between a Web services requester and a Web services provider. Oracle JDeveloper includes a TCP Packet Monitor to debug SOAP messages exchanged between Web services requesters and providers.
XML (Extensible Markup Language) is a flexible markup language, the common denominator to all things Web services. It's a text-format layer that can be used to describe any type of data in a structured way.
XML Schema defines the structure, content, and semantics of XML documents.
The Basic Profile 1.0 defined by the WS-I encompasses this stack of protocols, but it further specifies implementation details to narrow the choices to enable interoperability. For example, "WSDL provides four different binding stylesone-way, request-response, solicit-response, and notificationbut for standard, run-of-the-mill business applications you don't need the full power or expressiveness of WSDL, which is why WS-I specifies one-way or request-response," according to Jeff Mischkinsky, Oracle director of Web services standards, and board member and chair of the WS-I Technical Coordination Committee.
In addition, SOAP and WSDL are both type-system agnosticthe standards don't specify type implementationbut in order for services to interoperate, messages sent from client to service or from service to service must all use the same type, so WS-I specifies XML Schema as the type-system to be used for both SOAP and WSDL, says Mischkinsky.
Not only will WS-I be specifying interoperability profiles, but in addition to the Basic Profile 1.0, the organization is releasing test tools, sample applications, and conformance suites so that software developers can road-test application servers and related software to ensure that Web services will continue to effectively deliver on the SOA vision.
Oracle JDeveloper 10g is compliant with the Basic Profile 1.0 and includes test facilities that developers can use to
ensure compliance.
|
|
Power to the Developers: Oracle JDeveloper 10g
Developing the next generation of enterprise grid computing, services-
oriented applications will require not only smart developers but also sophisticated development tools that can simplify the process by providing visual, declarative, model-based approaches. Fortunately, the latest release of Oracle JDeveloper, Oracle JDeveloper 10g, has taken major steps toward improving J2EE development productivity without sacrificing flexibility. Oracle JDeveloper 10g is a complete development environment that encompasses modeling, developing, debugging, and deploying Java, XML, Web services, and PL/SQL applications.
Both hands-on coders and those who prefer declarative tools will find productivity boosts with many of the new features in Oracle JDeveloper 10g. This latest release simplifies J2EE development by providing new capabilities such as wizards, editors, visual design tools, and drag-and-drop data-binding to user interfaces.
You can still code J2EE applications and Web services from scratch if you like, or you can use the new Oracle Application Development Framework (Oracle ADF) to create J2EE applications declaratively. The visual and declarative approach enabled by Oracle JDeveloper 10g and Oracle ADF lets developers who are not necessarily J2EE experts become productive much more quickly. Here's a closer look at the framework.
Oracle Application Development Framework (ADF)
Oracle ADF is a complete standards-based framework based on the MVC Design Pattern that simplifies the development of J2EE applications and Web services. Unlike traditional application development frameworks, it not only makes application development easier but is also flexible and extensible. Oracle ADF has been designed to integrate with any other framework or component model technology available, such as Struts, EJB, and so on.
Oracle ADF doesn't lock you into a particular development approach, but rather adapts itself to your development style and the technologies with which you choose to work. For example, the new Technology Scopes let developers select the technologies they want to use for their particular projects. Once developers have selected their combination of technologies, the IDE automatically reconfigures itself to show only the options that developers need, based on the technologies they are using. Application templates automatically generate a complete project foundation, based on the choice of technologies.
Another key new feature that Oracle ADF provides is a consistent drag-and-drop data-binding approach for numerous server-side technologies, including ADF Business Components (formerly BC4J components), Oracle Application Server TopLink, Enterprise JavaBeans (EJB), Web services, and plain old Java objects (POJOs). According to Lawrence Livermore National Laboratory's (LLNL) Mark McBride, data binding has been a particularly thorny area when it comes to J2EE development. "Using any persistence infrastructure can lead to lock-insomething developers want to avoid," says McBride.
For developers like McBride and LLNL's Eric Weiss, JSR-227 is important because it promises to provide a declarative, industry-standard way to bind data from a business serviceWeb services, EJB, Java, JCA, or JDBC, for instanceto end-user interface components, such as Swing, Java Server Pages (JSP), or Java Server Faces (JSF) Web components.
|
|