Section 12.2. Development tools for composite applications


12.2. Development tools for composite applications

Distribution of the ESA stack across service consumers and service providers has had a significant impact on the role and structure of development tools. In the mainframe and client/server eras, each developer had a top-to-bottom slice of the application stack to work with, from UI to persistence. A single developer or team would craft the UI and create the process logic and the persistence to support it.

In ESA, this situation has changed dramatically. The idea of one developer creating an application no longer applies in a world of service providers and service consumers. Developers create components and building blocks or use those created by others, or both.

In addition, the developer population has changed. In ESA, the people doing development and modification are no longer just highly skilled engineers. Business analysts and others with more understanding of requirements but less technical skill have been added to the mix.

Accordingly, the development tools used in ESA to create composite applications and the supporting building blocks have changed. This section looks at the new development tools and how they interact with each other.

12.2.1. What development tools are used to create composites?

The goal of composite application development in ESA is to allow the developer to ignore implementation complexities and instead focus on using the simplified abstractions created by modeling environments to specify an application's behavior. When this is accomplished, development becomes a much simpler task.

But in the current state of the art, and probably for the foreseeable future, no one modeling environment will serve every need. Traditional development techniques based on ABAP and Java will still be required and will play an important role. What has changed and is vital for composite application developers to understand is the way that a division of labor has been created among the development tools used for composites.

Four development tools are used to create composites:

  • SAP NetWeaver Visual Composer for modeling UIs

  • Guided Procedures design time for modeling user-centric composite processes

  • The SAP Composite Application Framework (SAP CAF) for modeling application logic

  • ABAP Development Workbench and SAP NetWeaver Developer Studio for creating enterprise services and advanced logic at any level

Each tool works inside the SAP NetWeaver environment and builds upon various underlying technology, such as SAP NetWeaver Portal, the Web Dynpro development and runtime environment for creating UIs, SAP NetWeaver Application Server (SAP NetWeaver AS), SAP NetWeaver XI, and many other such platform components.

But while composite applications couldn't work without the foundation SAP NetWeaver provides, the most important job for this section of the book is to explain to composite application developers when and where to use each tool mentioned. The starting point for the explanation is Figure 12-3.

Figure 12-3 shows a more detailed view of the programming constructs and SAP NetWeaver components used to create a composite application than Figure 12-1 did with its focus on logical layers.

SAP NetWeaver Visual Composer is focused on modeling UIs that are rendered into the portal layer and the SAP NetWeaver Visual Composer runtime. It is possible to create entire applications using SAP NetWeaver Visual Composer if they do not require advanced application logic. In the future, it will be possible to create simple guided procedures using SAP NetWeaver Visual Composer.

The Guided Procedures design time is a server-side modeling environment through which guided procedures, shown in Figure 12-3 in the process layer, can be modeled and created. If any Java code is required in the callable objects of a guided procedure, this can be done in the SAP CAF.

The SAP CAF Core plug-in for SAP NetWeaver Developer Studio allows modeling of business logic. CAF Core has an environment that allows modeling of entity services, external services, and application services. Each service is constructed as much as possible by modeling, with coding filling in when needed. The CAF Core environment is needed most when a composite application has complicated application logic. CAF Core also allows for service composition, the technique of creating services based on functionality provided by other services.

Figure 12-3. Composite Application Architecture


ABAP Development Workbench and SAP NetWeaver Developer Studio play two roles in developing composite applications. First, they are used for service enabling. These tools are used to create enterprise services in service providers. In addition, when the requirements of any layer of a composite become more complex than the modeling environment can handle, ABAP Development Workbench and SAP NetWeaver Developer Studio can be used to create code that uses SAP NetWeaver components to create an application that solves the problem.

12.2.2. Can every development challenge be met through modeling?

Modeling involves creating a set of abstractions and relationships between the abstractions that can be combined and recombined to express an application's behavior. Even when models are constructed using visual tools, some sort of composition language is used to represent the relationships that are expressed visually. Once a model is constructed, the composition language is used as the basis of a compilation or interpretation process in which an executable form of an application is rendered.

The challenge for designers of modeling environments is to create abstractions and relationships that are simple enough so that productivity is increased but are complicated and powerful enough so that useful applications can be created. In any modeling environment, it is always possible to find certain requirements that cannot be satisfied in terms of the model. In these cases, to meet these requirements, developers must resort to coding in ABAP or Java using traditional methods and SAP NetWeaver components. If almost every application requires such coding, a modeling environment has perhaps not been properly designed. The experience of composite application developers with SAP NetWeaver Visual Composer, Guided Procedures, and CAF Core has been quite positive. Many, many applications can be completely represented in terms of the modeling environment.

12.2.3. What role does SAP NetWeaver Visual Composer play in creating composites?

SAP NetWeaver Visual Composer is the primary UI modeling tool for developing composites. In the future, SAP NetWeaver Visual Composer will be also have the capability to model guided procedures to perform service composition. SAP NetWeaver Visual Composer's use of modeling and patterns will increase productivity and allow a much larger number of UIs to be created and maintained at scale and at reasonable cost. Perhaps the largest impact that SAP NetWeaver Visual Composer will have is to enable business analysts to participate in developing and modifying composite applications.

SAP NetWeaver Visual Composer will also be an important part of creating special-purpose environments or factories to build certain types of applications. One of the first such uses of SAP NetWeaver Visual Composer is as an environment to create SAP xApp Analytics.

12.2.4. What role does the Guided Procedures design time play in creating composites?

The Guided Procedures design time is a development tool that allows modeling of guided procedures. Guided procedures maintain contextual information that is passed from one step to another in a process. Each step in a guided procedure is an action that can be executed by a callable object, which can be anything from an iView in SAP NetWeaver Portal, an Adobe Interactive form, a call to a web service, or special-purpose code. Guided procedures allow for alteration of the order of process steps during execution. In future releases of SAP NetWeaver, Visual Composer will also be able to model simple guided procedures, but the Guided Procedure Design Time will still be useful for modeling more complex processes.

12.2.5. What role does the SAP CAF play in creating composites?

The SAP CAF is the first tool created for composite application development. The SAP CAF was created as SAP was first grappling with what role composite applications would play in ESA. Because of this, the SAP CAF focused on many different areas, including patterns in the UI, service composition, process orchestration, and modeling. Many of the ideas that are now prominent in composite applications, such as the work center and control center patterns and guided procedures, had their origins in the SAP CAF, making it challenging to understand what the SAP CAF is and how it is used.

But as xApps were understood and new tools such as SAP NetWeaver Visual Composer arrived, the SAP CAF's role changed. Now the SAP CAF is focused on modeling advanced business logic that uses entity services, external services, and application services. Each service is modeled to a greater or lesser extent. Construction of some of them, such as application services, always requires coding in Java. Entity services are business objects that add local persistence to a composite. External services provide gateways to enterprise services outside of the composites and offer the opportunity for service composition. Application services contain the advanced process logic that may be required in a composite. As part of its modeling of services, the SAP CAF also allows for incorporation, through services of SAP NetWeaver, of capabilities that can support composite applications, such as functionality for business intelligence, knowledge management and collaboration, and other services mentioned in Chapter 13.

The SAP CAF is usually required only in more advanced composite applications that add quite a bit of functionality in the business process layer.

12.2.6. What roles do the ABAP Development Workbench and SAP NetWeaver Developer Studio play in creating composites?

The ABAP Development Workbench and SAP NetWeaver Developer Studio are focused on creating service implementations. The most highly skilled developers will spend their time building services that will then be used by others who will use simpler tools to finish the job of creating composite applications. In this way, the deep technical skills of developers and engineers will be leveraged as much as possible.




Enterprise SOA. Designing IT for Business Innovation
Enterprise SOA: Designing IT for Business Innovation
ISBN: 0596102380
EAN: 2147483647
Year: 2004
Pages: 265

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net