SAP Weaves Tighter .NET, Java Integration Tools
SAP has woven NetWeaver more tightly together, and the fit may be better for many non-SAP developers. The result, SAP hopes, will be a more intuitive, well-oiled platform that will make it much easier for Java and .NET devs to integrate their systems with data and business rules from SAP and other ERP software.
SAP has woven NetWeaver more tightly together, and the fit may be better for many non-SAP developers.
A year after SAP released Version 1 of its NetWeaver platform and component library for improving integration between SAP applications and mid-tier Java and .NET resources, the company has released a more tightly-integrated version for devs. The result, SAP hopes, will be a more intuitive, well-oiled platform that will make it much easier for Java and .NET devs to integrate their systems with data and business rules from SAP and other ERP software.
"The biggest story here is that most pieces are coming together for us, and for developers," SAP Executive Board Member Shai Agassi told Integration Developer News. "We are moving away from selling components, and are bringing NetWeaver together as one stack, one product.
NetWeaver 2004 wraps ABAP (SAP's proprietary language) code as web services, allowing Java and .NET developers to consume them without knowing anything about SAP's products or languages, Agassi added.
NetWeaver 2004 components include: Enterprise Portal, Business Intelligence, Master Data Management, Exchange Infrastructure, Web Application Server, Composite Application Framework, Solution Manager, and Mobile Infrastructure.
Key NetWeaver 2004 enhancements include:
interfaces, Java SDKs, .NET-complaint tooling and a richer set of APIs into SAP software.
Among resources Java and .NET devs can access are: business rules, databases. "NetWeaver has added the ability for non-ABAP developers to get analytics through XML interfaces, so they can use web services and SOAP to get at data that may reside in SAP applications, and don't need to know [our] proprietary language," Agassi told IDN.
In fact, SAP has partnered with LightHammer Software Development Corp. to provide a solution that lets Java devs use XML and JavaBeans to get data from SAP's Business Intelligence stack without the need to write proprietary code.
NetWeaver 2004 may also be the first taste some enterprise devs get of the Business Process Execution Language (BPEL). NetWeaver 2004 includes native BPEL support, which will allow a Java or .NET dev to unlock SAP-resident business rules by taking any ABAP code and package it as an enterprise service, setting the stage for its reuse via web services logic. Or, the dev can consume the logic as a BPEL-complaint business process, Agassi added.
NetWeaver also includes a transaction-savvy portal feature, something Agassi called "JSP on steroids." The portal allows devs to consume and run a new web-based engine for transaction applications, and also allows devs to create "dynamic programs on the web, and consume these services from SAP or other outside applications," Agassi said.
Inside SAP's Developer as Integrator Strategy
Why would a mid-tier Java or .NET developer care about working with sophisticated back-office systems like SAP's R/3? According to Moyer, they offer plenty of career up-side.
More than 80 percent of Fortune 1000 companies have some SAP software (notably SAP's R/3) somewhere in their enterprise to run a variety of mission-critical applications, including order entry, purchasing, inventory, supply chain and even HR. But, for the most part, Java and ASP/.NET devs are kept downstream of core SAP functions. Working or connecting with R3 data has been a dev task traditionally left to costly system integrators or specially trained SAP developers who use SAP's ABAP language.
SAP's use of web services, and the resultant outreach to Java and .NET developers, is a key way SAP looks to reduce the cost of system maintenance and updates. "With new technologies, like web services, there's a lot of potential to drive down the cost of application development, updates and support," Jeff Word, SAP's technology strategist, told IDN. "But web services are still new, and they don't know much about [SAP] technologies. So what's missing today are efficient and optimized tools for helping developers work with SAP systems without needing to know too much about [SAP's] underlying technology. The SAP's tools suite, which is being built for Java and .NET developers, will address all key layers of web-to-legacy integration projects, as well as their deployment and management.
In specific, SAP's offerings are expressly designed to separate the three key layers of an enterprise application -- presentation, business and database layers -- to better enable business analysts, mid-tier Java and .NET developers and back-office developers to more effectively work together. (??VANCE: Fill in missing words here??)of an appconsist of the following:
- Presentation/GUI Layer - For building web interfaces and/or forms (SAP NetWeaver Developer Studio, Web Dynpro and SAP Enterprise Portals)
- Business Logic Layer -- For enabling business rules (new or existing) to be reused as web services (SAP Web Application Server)
- Database Layer -- For enabling devs to apply their business rules against any underlying database, as well as providing data persistence and reusable data objects. (VANCE: Fill in product names here?? )
The database layer is typically provided by third-party database vendors; however, SAP provides tools like SAP NetWeaver Developer Studio that allow you to create database tables directly from the IDE, rather than having to go out to the database utilities. Additionally, as part of the SAP Web Application Server, SAP provides a database dictionary, which is an abstraction layer to the underlying vendor database that allows the developer to create database independent application (not tied to a vendor specific jdbc driver). Finally, the SAP Web Application server supports database caching, critical for faster user response times.
- Design Time-to-Runtime -- SAP will also provide design-time support for HTML, XML and XSLT, validate the code across developer teams, monitoring utilities, code management and tools to verify that the "finished" code can be built, completed and deployed in working order. (SAP NetWeaver Developer Studio, CCMS, Change Management System and Deployment Tools)
Inside SAP's Integration Tool Suite
One key to understanding how SAP's complete set of tools works is to keep in mind one of SAP's overall initiatives: to cut the complexity for accessing SAP's native application and business interfaces. For years, the crux of integrating with SAP has been the use of SAP's Business APIs, or BAPIs, which provide a programming interface to access data and tie external code into SAP software. Working with BAPIs required special training and tools, but that is all changing with the advent of web services and standards such as WSDL, XML, SOAP and UDDI, Moyer told IDN.
"Using technologies like BAPI, we've had six years of building a rich business repository," Moyer said. "We can now leverage this to web services." Moyer uses an example of a company that has a BAPI for a sales order. With web services, SAP will turn that BAPI (and the business rules behind it) into a web service by specifying a BAPI interface in WSDL format. Using WSDLs to connect to BAPI, and their accompanying business logic, will open up a whole new level of efficiencies to companies that use SAP, and will enable experienced Java/J2EE and .NET developers to work with SAP applications without the need to learn native ABAP, she said.
In addition, developers can have a runtime deployment platform for their work that is also independent of SAP. The AP Web Application Server (SAP WEB AS) can be deployed as a separate app server, and acts as an integration broker between web apps and SAP legacy apps. The SAP WEB AS supports SOAP natively, and also gives devs the ability to create their own UDDI directory, which will let users selectively expose their data and business processes as web services that can be tied in with other internal departments -- or even to outside B2B business and supply chain partners across the Internet.
Word also heads up SAP's new Developer Network portal, which will debut at SAP TechEd. At the portal, devs will get technical advice on Best Practices for GUI and integration with SAP, access to free code downloads and demos of SAP's Java and .NET tools as they are released. The portal also offers a collection of technical forums where devs can share ideas and ask questions of fellow devs.
Web Dynpro: WYSIWYG for Non-SAP Devs -- With Web Dynpro, SAP offers Java and .NET developers a way to interact with SAP in terms they understand; it follows the model-view-controller methodology, a coding practice they now use. "We shouldn't care what people develop in," Moyer said. "With Web Dynpro, if you're a Java or .NET developer, you're not going to find something unfamiliar , but there are some key value-add differentiators you'll find that you may not get with those tools out of the box," she said.
Among these value-adds is an abstraction layer that would allow the user to generate the underlying code in Java, .NET or SAP ABAP from the WYSIWYG screen they created. The resultant code is platform independent -- independent of both the underlying operation system and the database. "The idea was that we could allow users to swap out their database, and their apps wouldn't have to change or be rewritten," Moyer explained. Life-cycle and transaction integration support are also included.
The roots of Web Dynpro come from SAP's own offerings for its ABAP developers. Years ago, SAP provided them Dynpro (short for "dynamic programming'). "We've had some of these features in our Windows GUI for years; now with Web Dynpro, we're bringing these tools to the Web," Moyer added.
In addition, SAP is looking to make it easier, particularly for Java devs, to work with application data, by using a Metadata Model that lets developers work from a single three-level interface to make a change to data and see the resulting changes in higher or low levels of the tree. "Think about what you need to do in Java to code a simple drop-down list," Moyer said. "You either need to hard-code a list or [find] a way to get the list of valid input fields dynamically. Then, you need to talk to the application person who sets the values, code the value and make sure it's correct and then come up with a plan for changing it. That would take, between finding the fields and tying them in, a minimum of two hours [per data field change]. With Web Dynpro, a developer gets tools to automatically identify the input fields and see the results; the changes can take less than 10 minutes," Moyer said. This capability has been available to SAP ABAP devs in the Windows GUI for years.
The ideas for many of these tools came from SAP's own requirements. "When we started to develop our own apps using Java, we felt there were tools we needed. Compared to what we had for our ABAP developers, there were some big gaps in the Java world, especially in the areas of DB independent persistence and change management, and that started us thinking about how to make these technologies available to more developers," Moyer explained.
Web Application Server (SAP WEB AS): The Integration/Deployment Platform --
SAP's Web Application Server is the design-time and runtime platform for the entire suite of web services tools. A key element of SAP WEB AS is SAP's Internet Communications Manager, which support protocols like http(s), SMTP and SOAP. SAP provides a simple interface for setting up communications ports and defining the protocols the app will use.
"For any SAP solution, you're going to have the SAP WEB AS as your technical platform. Also, all SAP NetWeaver components rely on SAP WEB AS," Moyer said. For context, if you look at the three-tier architecture, the SAP WEB AS is in the middle layer and will provide all the function of today's J2EE app server with the added value of providing (1) web services-compliant plumbing and (2) optimized access to SAP's BAPIs.
SAP WEB AS is the basis of SAP's application stack. In fact, every SAP product, including the mega back-office R/3 application, will have SAP WEB AS as the basis of its architecture, Moyer said. "What that means is that we have a whole dev team that just works on producing that SAP WEB AS layer. And they have release cycles just like the app people do. As the basis layer finishes its release cycle, it's picked up in the system app layer," she told IDN.
This also means that a developer using SAP WEB AS can create web services that connect to the SAP Enterprise Portal, SAP Exchange Infrastructure, and even transaction-dependent apps running on R/3. "With a full suite of web services interfaces and our optimized mapping to SAP [functions], a developer won't have to worry about his platform or his partners' application platform. They just have to care about web services," Moyer said.
SAP NetWeaver Developer Studio -- Integration-Ready, End-to-End App Development --
In SAP NetWeaver, SAP aims to redefine the basic IDE. By leveraging Eclipse on the Java side and the .NET Framework from Microsoft, SAP wants to provide a richer set of support tools for team development, error-free code builds, integration-enabled applications and more visibility into cost issues related to upgrades and life-cycle management.
"Our customer base operates in a heterogeneous environment, SAP often saw customers putting in different pieces from different vendors in order to piece components together. The process often meant that the seamless solution never happened, and that smaller projects just broke down into silos, with the UI person worrying about how to integrate users and the person responsible for the system administration looking at it from a systems integration perspective, and so on," Moyer said. One of the crucial ways to reduce cost and improve code quality was to bring all these functions under one umbrella. "We needed to provide a business-oriented integrated platform that addressed the entire issue from a business perspective, not just a lot of separate tools, with no business value" she added.
Moyer said SAP expects this end-to-end approach will also make it easier for dev teams with different skills to more effectively work together. SAP NetWeaver components include: SAP Enterprise Portals and Mobile for user integration, SAP Business Information Warehouse and SAP Master Data Management for information integration, SAP Exchange Infrastructure for process integration and SAP Web Application Server as the scalable, reliable and secure application platform for enterprise and web development and services.
"Typically, with teams working on SAP or any other enterprise system, you had someone familiar with the business app, the underlying code of the application, a person who knew how to connect to the back-end system, a database resource and a team familiar with the front end (graphics, layout, content, IDE, etc.). You had to get them to work together," Moyer explained. "We believe that using web services or Web Dynpro will help reduce the number of people involved in enterprise development efforts. [Developers] should just need the front-end team and a business analyst who is familiar with the application process," she added.
SAP NetWeaver also enables developers to untie their business logic from their underlying database. "While many in Java will say 'I don't go swapping my databases every year,' there are some Informix users, as well as SQL users, looking at their options right now."
Change Management - Building, Tracking, Upgrading, Rebuilding Quicker --
With the Change Management (CMS) element of the SAP's web services suite, Java devs not familiar with the intricate workings of SAP get perhaps their biggest boon: visibility, the ability to check their work and lots of CYA.
In particular, devs get a central repository, called the Design Time Repository, where code is stored with notations of dependencies to other code sets. "This means when you need a service pack or you're doing upgrades, you rebuild only those new pieces and their dependencies, which the repository will help identify," Moyer said. Used internally by SAP, this element of change management makes project construction much more efficient. Prior to use of the system, one complex SAP project needed one change-management person per 10 developers. "That was just crazy," Moyer admitted. After it was put into use, that ratio dropped to 1:40.
Leverage Legacy with Web Services
In the end, reuse -- of code, business rules and even skilled devs -- is a key theme in these new SAP technologies.
"We wouldn't be where we are with web services today if we hadn't started breaking out doing modular applications interfaces six years ago. SAP is all about leveraging and building on top of things," Moyer said. She also added that SAP is committed to engineering in abstraction technologies through the SAP product lines to make it easier for .NET and Java developers to program with SAP. "Universities are now turning out a lot more Java & .NET developers than ABAP developers," she said. "Overall, it will be much more affordable for our customers to help them find ways to use the talents they have to work with the technologies they already have from us."
For more on SAP's Java and .NET technology programs, go to SAP's Developer Network.