New Announcements and Updates




Building Extensible Composite Applications with SAP

Click to enlarge

Bookmark and Share
Price:
$84.95
Product Code:
H3071
Average Rating:
( 1 product review )
Availability:
In stock!
Format:
Quantity:


Product Details

ISBN:
978-1-59229-287-5
Author:
Matthias Steiner
Type:
Hardcover, 205 pages

Product Description and Table of Contents

This book teaches you how to build extensible Java applications and extend existing ones in a non-invasive manner. It illustrates the composites’ development on the basis of SAP NetWeaver Composition Environment, and provides a complete “enhancement framework” for Java applications similar to its pendant in ABAP. Many examples and practical tips help you understand the different extensibility concepts and support you in building your own custom framework.

Design Principles
Get to know the architecture of modern Java applications: the software design, application layers, and the toolset of SAP NetWeaver CE.

Extensibility Concepts
Discover the basic principles of extensibility concepts as well as the major requirements that extensibility techniques need to adhere to and how they can be addressed.

Extensibility Framework
Learn how to build a generic and re-usable extensibility framework and how to implement it into an existing application in a non-invasive manner.

Real-World Use Cases
All presented concepts and their underlying technologies are explained in detail and illustrated through sample business scenarios.

Hands-on Information
Experience best practices in modeling processes on the basis of numerous screenshots and source code listings, as well as step-by-step tutorials.

Highlights

  • Persistence and Integration Layer: SAP NetWeaver PI
  • Business Logic Layer: EJB, CAF
  • Presentation Layer: Web Dynpro, Visual Composer, Portal
  • Process Layer: Guided Procedures, BPM
  • Use Cases: Backend Abstraction Layer, BAdIs
  • Up-to-Date Information: SAP NetWeaver CE 7.1 EhP1

About the Author(s)

Matthias Steiner is a Solution Architect for SAP Custom Development. He began his career with SAP in 2002 and has gathered significant experience in numerous enterprise-scaled development projects in both the ABAP and the Java world.

Table of Contents

  • ... Introduction ... 9
  • 1 ... Design Principles of Modern Java Applications ... 17
  • 1.1 ... Application Architecture and Design ... 17
  • 1.1.1 ... Application Layering ... 19
  • 1.1.2 ... Data Layer (Backend Systems and Data Sources) ... 20
  • 1.1.3 ... Connectivity Layer ... 21
  • 1.1.4 ... Business Logic Layer ... 22
  • 1.1.5 ... Presentation Layer ... 24
  • 1.1.6 ... Process Layer ... 25
  • 1.2 ... Summary ... 27
  • 2 ... Fundamentals of Extensibility Concepts ... 29
  • 2.1 ... Basic Concept ... 29
  • 2.1.1 ... Field Extensibility and Process Extensibility ... 30
  • 2.1.2 ... Explicit versus Implicit Extensibility ... 31
  • 2.1.3 ... Basic Concept of Procedural Extensibility Techniques ... 34
  • 2.2 ... Extensibility Implications and Non-Functional Prerequisites ... 35
  • 2.2.1 ... Security ... 36
  • 2.2.2 ... Performance ... 37
  • 2.2.3 ... Data Integrity ... 39
  • 2.2.4 ... Supportability ... 40
  • 2.2.5 ... Flexibility ... 41
  • 2.2.6 ... Configuration ... 42
  • 2.2.7 ... Documentation ... 42
  • 2.3 ... Application Componentization ... 43
  • 2.4 ... Typical Use-Cases ... 44
  • 2.4.1 ... Business Add-Ins (BAdIs) ... 44
  • 2.4.2 ... Backend Abstraction Layer (BAL) ... 44
  • 2.5 ... Exemplary Business Scenario ... 46
  • 3 ... Extensibility Based on Java Class Loading ... 47
  • 3.1 ... Use-Case Introduction ... 47
  • 3.2 ... Creating the Example Application ... 49
  • 3.2.1 ... Creating the Development Configuration ... 49
  • 3.2.2 ... Creating the Development Components ... 52
  • 3.2.3 ... Creating the Public Parts ... 55
  • 3.2.4 ... Importing the Software Component Archive ... 58
  • 3.2.5 ... Code Walkthrough ... 62
  • 3.2.6 ... Specifying Dependencies Between Development Components ... 66
  • 3.2.7 ... Testing the Application via the Web Services Navigator ... 70
  • 3.3 ... Creating the Custom Implementation ... 72
  • 3.3.1 ... Importing the Custom Implementation ... 72
  • 3.3.2 ... Reviewing the Custom Implementation ... 77
  • 3.3.3 ... Testing the Customer Implementation ... 78
  • 4 ... Extensibility Based on Enterprise JavaBeans ... 81
  • 4.1 ... Use-Case Introduction ... 81
  • 4.2 ... Creating the Example Composite Application ... 82
  • 4.2.1 ... Creating the Composite Application ... 82
  • 4.2.2 ... Creating the Business Partner BO ... 85
  • 4.2.3 ... Modeling the Business Object Attributes ... 86
  • 4.2.4 ... Creating the Application Service ... 91
  • 4.2.5 ... Exposing the Application Service as Web Service ... 95
  • 4.2.6 ... Code Walkthrough ... 97
  • 4.2.7 ... Running the Composite Application ... 100
  • 4.3 ... Developing the Extension Points ... 102
  • 4.3.1 ... Developing the Extension Point Interface and Standard Implementation ... 103
  • 4.3.2 ... Integrating the Extension Points into the Process Flow ... 105
  • 4.3.3 ... Exposing the Extension Points ... 106
  • 4.4 ... Developing a Custom Implementation ... 109
  • 4.4.1 ... Enterprise Application ... 111
  • 4.4.2 ... Extension Points (EJB Module) ... 111
  • 4.4.3 ... Mail Template (Web Module) ... 112
  • 4.4.4 ... Defining DC Dependencies ... 112
  • 4.4.5 ... Configuration ... 113
  • 4.5 ... Summary ... 114
  • 5 ... Extensibility Based on Web Services ... 115
  • 5.1 ... Use-Case Introduction ... 116
  • 5.2 ... Creating the Example Application ... 116
  • 5.3 ... Introduction to Enterprise Services ... 118
  • 5.4 ... Creating the Service Provider ... 122
  • 5.4.1 ... Creating the Stateless Session Bean ... 122
  • 5.4.2 ... Exposing the Session Bean as a Web Service ... 126
  • 5.5 ... Creating the Service Consumer ... 130
  • 5.5.1 ... Backend Abstraction in Action ... 130
  • 5.5.2 ... Creating the Web Service Client ... 130
  • 5.5.3 ... Creating the Consumer EJB Session Bean ... 135
  • 5.6 ... Creating an Alternative Web Service Provider ... 138
  • 5.7 ... Summary ... 141
  • 6 ... Introducing an Extensibility Framework ... 143
  • 6.1 ... Architecture and Capabilities ... 144
  • 6.1.1 ... Support for Explicit and Implicit Extensions ... 146
  • 6.1.2 ... ExtensionSpot Annotation ... 147
  • 6.1.3 ... ExtensionPoint Interface ... 149
  • 6.1.4 ... ExtensionPointInterceptor ... 150
  • 6.1.5 ... ExtensibilityFactory ... 153
  • 6.1.6 ... Prerequisites of the Extensibility Framework ... 155
  • 6.1.7 ... Summary ... 156
  • 6.2 ... Implementing the Extensibility Framework ... 157
  • 6.3 ... Testing and Debugging the Extended Application ... 162
  • 6.4 ... Summary ... 163
  • 7 ... Summary ... 165
  • 7.1 ... Extensibility Based on Java Class Loading ... 166
  • 7.2 ... Extensibility Based on EJBs ... 167
  • 7.3 ... Extensibility Based on Web Services ... 168
  • 7.4 ... Implicit Extensibility Based on Interceptors ... 169
  • 7.5 ... Comparison ... 170
  • ... Appendices ... 175
  • A ... Further Reading ... 175
  • B ... The Author ... 177
  • ... Index ... 179



Additional Resource(s)


Download: Source Code

Product Reviews


  1. Comprehensive & pragmatic guide on extensibility

    Posted by Vinay H S on 20th Feb 2010

    I enjoyed reading this well authored book and felt enriched at the end of it. Well that completely satisfied my criteria for investing time on a technical book.

    Having worked in both product and custom development projects in various roles ranging from developer to architect, I have learnt that extensibility of a software has greater impact on its total cost of ownership (TCO), which can be reduced with due diligence in requirement specification and architecture. Often due to deadlines, cost constraints, lack of knowledge or extensive focus only on functional requirements, the development projects tend to sideline the quality attributes of a software. This results in tightly coupled applications that are difficult to maintain and enhance, leading to high recurring costs for change management. More so in custom developed Java applications (ABAP has built-in framework for extensibility). However on reading this book one would realize the significance of extensibility aspect and the ease with which it can be implemented in Java with SAP.

    I recommend the book as a must read for product development and very useful in custom developments.


Write your own product review
If you have read this book you can share your experience with others!
review guidelines

Find Similar Products by Category