The Sun ONE architecture is Sun's software vision, architecture, platform, and expertise for solving many of today's enterprise integration, interoperability, and development issues. Based on the Java 2 Platform, Enterprise Edition (J2EE), it provides an easy evolution from nonintegrated enterprise applications to fully integrated and interoperable Web services.
A software developer will find it useful to learn the Sun ONE architecture and discover how it can solve integration and interoperability problems. Its associated technologies and products provide a wide range of automated services that significantly lower the costs of building Web applications and clients.
This article provides an overview of the architecture. For an in-depth analysis, see the Sun ONE Architecture Guide, which contains discussions of the architecture's standards and protocols, along with descriptions of the technologies and products that implement them. For practical, how-to information we provide a list of more specialized articles at the end of this piece.
Whatever your place in the industry - CTO, industry analyst, IT manager, developer, or other software professional - this overview will give you a good grasp of the Sun ONE architecture and an understanding of its value to software developers.
Services on Demand
Sun coined the phrase "Services on Demand" to signify anytime computing anywhere, to anyone, using any device. The Services on Demand vision is of a comprehensive framework encompassing traditional Internet-based services, such as security, authentication, and directory, along with more advanced capabilities, including virtualized storage and composite services (those created by combining separate services). This vision encompasses these technologies:
Current Web applications, Web services, and Java Web client applications
Upcoming "smart" (as in contextually enhanced) and federated services such as those that recognize human user, resource, and application contexts
Potential distributed computing technologies such as fully integrated e-commerce
Creating applications and services for the huge number of always-connected users of these technologies, and developing the infrastructure to support them, will offer rewards to those who are prepared to meet the challenges. The good news is that your existing understanding of Java technology, object-oriented design, and related types of programming expertise are the foundation for your growing skills. Essentially, you're already more than halfway up the path that eventually will lead to the world of fully integrated e-commerce.
A multitiered platform consisting of Sun ONE middleware products, the Solaris Operating Environment, and J2EE technology, the Sun ONE architecture allows you to leverage your legacy software and current programming skills.
Web Services: Evolution, Not Revolution
Within the realm of Services on Demand, "Web services" are a subset, but one that has recently gotten a lot of attention in the software industry. Today, many people are skeptical of the over-hyped Web services "revolution." Such skepticism is warranted to a degree, because the prerequisite industry-wide standards; Web infrastructure; and key technologies, such as network identity and single sign-on, are still immature.
"The evolutionary nature of Web-based software was a major consideration in the development of the Sun ONE stack," says Hal Jespersen, CTO of Sun ONE Products and chair of the Sun ONE Architecture Council. "Instead of asking developers to adopt a new application paradigm such as Microsoft's .NET, Sun ONE enables them to build Web services using the same familiar Java technologies that they're currently using to develop Web applications. These include servlets, Enterprise JavaBeans technology, and all of the other open standards associated with the J2EE programming model."
Sun ONE is Sun's architecture for ultimately delivering Services on Demand.
The Sun ONE Architecture:
A Quick Look at the Stack
The Sun ONE architecture consists of an integrated stack of standards and technologies in three layers (see Figure 1). In the top layer are the elements used to create, assemble, deploy, and test Services on Demand. At the bottom are identity, security, policy, and management, along with hardware/software platform support. The middle of the stack is the center of the Sun ONE architecture: Service Delivery (presentation logic), Service Container (business logic), and Service Integration (back-end data-access logic).
Sun ONE Standards and Products
The Sun ONE architecture is based on a number of standards for APIs and protocols, including Java technology, XML, and Web standards (see Figure 2). Figure 3 shows how Sun ONE products fit into the architecture. Because the Sun ONE platform is integratable, products from other vendors that conform to open standards can be used interchangeably. On the other hand, the integrated nature of the all-Sun ONE product stack is an important value proposition for many developers and enterprise IT departments. Sun provides the Sun ONE integrated products as part of the Sun ONE Developer Platform.
|
|
Tools of the Trade: The Service-Building Layer
At the top of the Sun ONE stack, the Sun ONE Studio IDE (formerly Forte for Java) provides a full suite of tools designed to support the Sun ONE architecture. Based on the open-source NetBeans platform, the Sun ONE Studio product delivers the modules, wizards, templates and generators that enable development, assembly, and deployment of J2EE components and standards-based Web service applications to the Sun ONE Application Server in a team-oriented environment. It is ideal for building and deploying Web services across multiple hardware and software platforms. This modular, extensible IDE enables fast adoption of new technologies from Sun, Sun's partners, and the community.
Developers can customize Sun ONE Studio developer tools by:
Adding modules that come with the tools to provide alternative editors, debuggers, or other functions
Writing their own modules to add new features or replace functionality
Enabling or disabling various modules
The Sun ONE Studio IDE is included with the Sun ONE Developer Platform Technology Preview. This development, test, and deployment environment is especially suited to enterprise projects such as portals that provide many types of customized user services. The Sun ONE Developer Platform Technology Preview includes evaluation copies of complete application, security, and enterprise information systems (EIS) integration functions, along with portal-building capacity. It also includes an evaluation copy of the Sun ONE Application Framework.
In addition, the Sun ONE Application Framework, a best-practices implementation of the Model/View/Controller (MVC) design model, provides developers with a proven pattern to employ in the creation of Web applications and Web services. Using the Sun ONE Studio developer tools in conjunction with the Sun ONE Application Framework allows Java component developers and form-based application builders to work together to deliver their products.
Where the Action Is: Delivery, Runtime, and Integration
The middle layer of the Sun ONE stack consists of three important areas: Service Delivery, the Service Container, and Service Integration (see Figure 4).
Service Delivery:
It's All in the Presentation
The Service Delivery portion of the Sun ONE stack contains the components that developers use to communicate with users. Within the Sun ONE architecture, Service Delivery is implemented by the Sun ONE Application Server and the Sun ONE Portal Server.
The Sun ONE Application Server provides a platform and infrastructure for developing and deploying Web applications. By serving as a single integration point between many applications, it greatly reduces integration complexity. In addition to freedom from system-level programming, it provides enterprise integration and business process automation services.
The Sun ONE Portal Server is an identity-enabled platform and infrastructure for developing and deploying many types of secure portals. It offers a wide variety of portal-building services, including user and community management, personalization, aggregation, security, integration, and search.
J2EE technology provides a presentation framework as defined by JavaServer Pages and Java servlet technologies. This framework acts as a foundation for gathering information from both end users and the business layer of an application. It also generates the user interface and processes all user interactions with it. If you prefer a prebuilt presentation framework, you can use the Sun ONE Application Framework, which is integrated with the Sun ONE Application Server.
Another set of Service Delivery elements helps Java Web client developers deliver applications to a variety of client devices, including desktop computers, mobile phones, PDAs, home gateway computers, and set-top boxes. The Mobile Access Pack of the Sun ONE Portal Server provides services for securely connecting various mobile devices and users to their portal.
Java Web client technology is spurring the development of the JSR-124 standard (also known as the Java Vending Machine) that allows users to purchase or rent applications appropriate to the device they're using, their location, and their personal preferences.
The Service Container:
Runtime and More
The Service Container is the implementation of J2EE technology running in an application server that supports the Java XML APIs. The Sun ONE Application Server is Sun's implementation of the Service Container. It manages software - including applications and services - across a broad spectrum of Web and enterprise software requirements. Along with the runtime environment, the Service Container includes persistence and state management services.
As a product that delivers the Service Container, the Sun ONE Application Server provides mechanisms for transaction management and connection management, including such functions as connection pooling and security. By serving as a single integration point between many applications, it greatly reduces integration complexity.
The Sun ONE Application Framework runs in the Application Server. A best practices implementation of the familiar MVC design model, it can be incorporated into applications developed on the J2EE platform.
In addition to the core Java 2 platform features, the J2EE technology includes support for Enterprise JavaBeans components and Java servlet, JavaServer Pages, and XML technologies. The Java BluePrints Pet Store sample application illustrates how Web services can be added to an existing application using the J2EE platform.
Sun is currently working on a set of "prebuilt" core Web services. These will provide a set of system- and application-level functions that supply e-commerce programs with contextual information, such as the user's location and access device. Other core Web services will expose the main functionality of communications applications, such as e-mail, calendar, address book, and conferencing.
Service Integration:
Leveraging Your Legacy Systems
Web services facilitates integration and interoperability. Using this model of software development, and by building integration adapters and connectors, you can leverage your legacy systems, third-party products such as workflow packages, and even other enterprise technologies such as Microsoft .NET.
The Service Integration features use many technologies, including J2EE Connector Architecture technology and the Java Database Connectivity (JDBC) API, to integrate legacy applications and databases, access service registries, and perform electronic commerce integration within and between enterprises.
The Sun ONE Connector Builder is a software tool for building Web services- ready connectors to integrate J2EE and Web applications with existing enterprise systems and legacy applications. It accomplishes this by generating resource adapters that are compliant with the J2EE Connector Architecture and that can be deployed in the Sun ONE Application Server. These resource adapters can also be run in a Web container for loosely coupled access using the SOAP specification.
The Sun ONE Integration Server, EAI Edition, enables enterprises to integrate packaged, custom, legacy, and new applications based on Java technology into a workflow to complete business processes. It includes a Web services integration framework, which also works with the Portal Server. By automating such tasks as building and deploying XML adapters and by providing support for the Web Services Description Language (WSDL), this framework makes it easier to integrate back-end systems as Web services or Web client applications.
The Sun ONE Integration Server, B2B Edition, enables enterprises to integrate e-commerce applications for partners and customers, whether they are accessed over the Internet or on private networks. In addition to allowing the encrypted transmission of documents and messages among heterogeneous trading partners, this server can transform information from one data format into another - for example, from HTML to XML. Its integration broker also includes business process management and message transport.
This edition also includes a Process Designer tool that allows system integrators to build a workflow package. Local applications, Web applications, and Web services can use this package to operate together smoothly.
Web services are also well on their way to becoming a major integration strategy in themselves. The native support for Web services inherent in the Sun ONE architecture upholds their loosely coupled integration mechanism.
The maturation of the Electronic Business eXtensible Markup Language (ebXML) collection of Web services specifications will be critical to making Web services a common mode of integration. The Sun ONE architecture embraces both the Web services native specifications and the business extensions offered by ebXML. The Sun ONE Message Queue technology is based on the Java Message Service (JMS) specification. As the ebXML messaging specification matures, Sun plans to expand the Message Queue product to include interfaces to that framework.
Security for All:
The Identity and Policy Layer
A major part of Sun ONE security consists of Identity and Policy Services, which are near the bottom layer of the stack. Interacting with most of the higher-level components, they include these broad categories of services:
Identities, roles, and security for users, groups of users, and other system objects
Federated identity systems such as the Liberty Alliance Project
Management services, which include both systems and applications management
Within the Sun ONE architecture, the Sun ONE Identity Server provides an identity system that includes access management, identity administration, and directory services. The Sun ONE Directory Server serves as a central repository for storing and managing identity profiles, access privileges, and application and network resource information.
Built on top of the Directory Server, the UDDI-based Registry Server lets enterprises register Web services, thus allowing their services and business processes to be identified, described, and integrated on the Internet. Other Sun ONE platform services provide authentication, Web single sign-on, identity and policy management, logging, and audit.
The Sun ONE architecture currently supports industry public-key infrastructure (PKI) standards as well as the Kerberos authentication protocol and the UDDI specification. Sun recently announced its support of the Liberty Alliance version 1.0 specification for an open, federated identity solution.
Within the Identity and Policy layer, a set of management services provides both the framework and interfaces needed to manage Web services and system resources throughout the Sun ONE platform. These management services also allow your Web services to employ the same management methods and interfaces that are used in the stack.
A Solid Foundation: The Platform Layer
At the bottom of the stack is the Platform layer, which includes Solaris and other operating environments, such as Windows and Linux, along with hardware and storage. This is also the location of the networking platform.
Platform services allocate and manage the resources that host the higher-level service layers in the Sun ONE architecture. Their functions range from furnishing network connection interfaces to providing security facilities and printing services.
Getting a Jump-Start:
Introductory Tools and Services
For an introduction to the Sun ONE architecture and the integrated suite of Sun products that implement the architecture, many developers are electing to order the Sun ONE Developer Platform, which contains evaluation copies of the tools and servers described here. It also contains a sample end-to-end application that illustrates how Sun ONE products can be used by trading partners to conduct e-commerce across the Internet. The Sun ONE Developer Platform is available by ordering the Sun ONE Starter Kit at
wwws.sun.com/software/sunone/starterkit/index.html.
For a hands-on introduction to building Web services, many experienced Java technology developers are downloading the Java Web Services Developer Pack (Java WSDP). This contains the Java XML APIs along with a set of ready-to-use tools necessary for building, testing, and deploying Web applications, XML Web applications, and Web services on the Java platform. Information about the Java WSDP is located at
http://java.sun.com/webservices/webservicespack.html.
The Future of the Sun ONE Architecture
The Sun ONE architecture currently includes all of the standards, technologies, and products necessary to support the pioneering Web services that are being prototyped, tested, and even deployed today. Through frequent updates and releases, the Sun ONE products will expand to accommodate increasingly sophisticated distributed computing models.
Related Resources
Sun provides a developer Web site for the Sun ONE platform at
http://developer.sun.com/sunone.
Sun ONE Architecture Guide:
wwws.sun.com/software/sunone/docs/arch/index.html
Sun ONE Developer Platform:
www.sun.com/developer
Java Web Services Developer Pack:
http://java.sun.com/webservices/webservicespack.html
Getting Started in Developing Web Services:
http://developer.sun.com/sunone/building/howto/
gettingstarted.html
Web Services Distilled:
http://developer.sun.com/sunone/platform/
technologies/wsdistilled.jsp
About The Authors
Karen Thure is director of Creative Services for KnowledgeTree Systems, Inc., a technical communications outsourcing firm serving the high-tech community since 1980. The author of two books and 19 national magazine articles, she has been a technical writer and manager for more than 16 years.
info@sys-con.com
Frank Lacombe is founder and president of KnowledgeTree Systems, Inc., a technical communications outsourcing firm serving the high tech community since 1980. Active for many years in alternative education, he serves as a trustee of the Santa Cruz Waldorf School, of which he is also the president.
info@sys-con.com
All Rights Reserved
Copyright © 2004 SYS-CON Media, Inc.
E-mail:
info@sys-con.com