Continuing to build its partner channel to deliver business management solutions to midsize companies and small businesses, SAP America Inc., a subsidiary of SAP AG (NYSE: SAP), today announced the introduction of seven new SAP® All-in-One value-added resellers (VARs), 26 new SAP® Business One partners and expanded coverage for nine existing SAP Business One partners serving customers across the United States. The new and expanded partnerships allow SAP to better meet the evolving business needs and vertical industry requirements of its rapidly growing base of midsize and small customers. The announcement was made at SAP Americas’ 2007 Summer Partner Summit, being held July 30-31, in Washington, D.C., where SAP also showcased new SAP All-in-One partner solutions and the latest version of SAP Business One, which provides new and enhanced tools to help small businesses grow.
SAP Business One and SAP All-in-One solutions are designed to suit the needs of today’s small businesses and midsize companies, respectively, supporting growing organizations across all industries through quick implementations, affordable pricing and flexible process alignment. By joining SAP® PartnerEdge™, a global framework providing partners with the resources and support to successfully deliver SAP solutions, members of the SAP partner channel receive training, solution development tools, market expansion resources and innovative solution collaboration opportunities. SAP PartnerEdge recognizes and rewards partners of all sizes for not only sales success, but capacity-building activities such as sales training, solution development and customer reference activity, providing all partners with the appropriate tools to better serve their customers.
“Initially joining SAP PartnerEdge to deliver SAP Business One to local small companies, we were quickly impressed by the company’s solution expertise and its strong track record of creating new opportunities for its partners,” said Rob Delf, partner, Business Systems, Tryarc. “Now that we’ve also begun to deliver SAP All-in-One solutions, we are reaching a whole new cross-section of customers and delivering solutions specifically enhanced with our knowledge of the media and entertainment industries.”
New U.S. SAP All-in-One Partners Extend Vertical Expertise
By leveraging an enterprise service-oriented architecture (enterprise SOA), SAP All-in-One partner solutions enable midsize companies to adopt innovations and hone micro-vertical processes over time, minimizing the costs and disruption to ongoing operations. SAP All-in-One partners employ SAP® Best Practices offerings to assist midsize companies support installations and address changing vertical practices. New U.S. SAP All-in-One geographic VARs include:
EntryPoint of Cleveland, Ohio, focuses on driving measurable benefits to midsize life sciences, wholesale distribution, logistics and complex manufacturing companies throughout the upper Midwest.
Lat Capital of Miami, Florida, offers enterprise solutions and implementation expertise for midsize companies throughout the southeastern United States and Latin America.
Tryarc of Los Angeles, California, serves the radio, television, cable and broadcasting markets throughout California, concentrating on business management solutions and business process platforms for the wholesale distribution of commercial and industrial equipment and supplies.
VSS LLC of Ridgeland, Mississippi, delivers enterprise software solutions throughout the southeast, mid-Atlantic, and northeast United States, specializing in manufacturing, distribution, retail, automotive and financial services, with the capability to bundle hardware, software and services.
Additionally, the following SAP All-in-One solution partners have become vertically focused resellers to offer their solution expertise to companies throughout the United States:
et alia of Milwaukee, Wisconsin will sell and deliver its SAP-certified CREWTM for Construction and CREWTM for Professional Services solutions.
KBMS of Montreal, Canada expanded its North American operations to establish operations in Denver, Colorado to sell its SAP-certified KBMS Food and Beverage solution.
Technology Solutions Company (TSC) of Chicago, Illinois capitalizing on growing demand among midsize companies, will sell its SAP-certified EDGE for IM&C Manufacturers and EDGE for High Tech solutions.
New Partners on Board as SAP Delivers Next Version of SAP Business One
The updated SAP Business One application streamlines small business processes with simplified and automated reconciliation, delivers an instant view of the entire business with a single intuitive, Microsoft Excel-based reporting tool, delivers secure information with single-click .pdf printing, and allows small businesses to control business operations through increased flexibility and enhanced accounting and financials. In 2007, SAP has increased its market coverage and ability to serve small businesses with SAP Business One by signing 26 new partners and supporting the expansion of nine partners into 11 new markets.
“Small businesses require business management solutions that help to manage growth through quick implementations, seamless integration between departments and improved insight into expanding operations” explained James Karl, CEO, Yarrow Bay Software Group, Seattle, Washington. “With SAP Business One, we offer our clients a powerful, fully integrated and user-friendly business management solution that provides increased process control across all operations for quick adoption by front- and back-office business users.”
Among the 26 new SAP Business One partners, SAP welcomed:
Advanced Business Software Corp. of Savannah, Georgia supports small and midsize business (SMB) software implementations with a specialty in accounting processes.
Advanced Systems Group of Tulsa, Oklahoma combines leading technology tools and best-in-class business practices to improve profitability for distributors, manufacturers and services companies within a multi-state area.
Advent Global Solutions of Houston, Texas is a leading SAP global services consulting firm and provider of SAP® Business Suite applications, offering technical upgrade support, application virtualization and business process management for best-in-class on-premise, offshore and remote consulting solutions.
Clients First Business Solutions of Birmingham, Alabama provides enterprise software implementation expertise throughout Texas, Alabama and Ohio.
VSS LLC of Ridgeland, Mississippi provides expertise in SMB implementations in the southeast, mid-Atlantic and northeast United States across a broad range of industries, including retail, automotive suppliers, financial services, manufacturing, distribution and professional services.
Yarrow Bay Software Group of Seattle, Washington combines an integrated, online business management solution delivering financial, accounting, production and customer relationship management (CRM) capabilities through an intuitive user interface for employee ease-of-use with qualified client-site software integration and project management professional services.
In addition to these partners, the SAP Business One partner channel added 20 additional resellers, expanding coverage to the following geographic areas: Jasper, Alabama; Encinitas, California; Tustin, California; Boca Raton, Florida; Coral Springs, Florida; Miami, Florida.; Ponte Vedra, Florida.; Macon, Georgia; Holliston, Massachusetts; Helena, Montana; Reno, Nevada; Middletown, New Jersey; Freeport, New York; Pittsburgh, Pennsylvania; Greenville, South Carolina; Memphis, Tennessee; Frisco, Texas; Richmond, Virginia; Scott Depot, West Virginia and Green Bay, Wisconsin.
In addition to new partner Clients First Business Solutions, which opened to three new markets during 2007, existing SAP Business One partners expanded into the following new geographic territories: Santa Clara, California (Navigator); Miami, Florida (Apollo Consulting); Tampa, Florida (Netsirk Technologies); Indianapolis, Indiana (Business First); Baltimore, Maryland (ACUMEN Corporation); Detroit, Michigan (Business First); Omaha, Nebraska (Tallman Palmer); Chattanooga, Tennessee (D1 Technologies LLC, previously named MKB2B) and Memphis, Tennessee (BTM Solutions).
“The addition of these new SAP partners and enhancements to our solution portfolio provide the right touch to small businesses and midsize companies,” said Michael Sotnick, senior vice president, Small and Midsize Enterprises, SAP America Inc. “SAP PartnerEdge creates an open dialogue and support framework among ISVs, VARs and SAP to ensure that we identify and address market opportunities with proven solutions providing optimum customer value.”
About SAP
SAP is the world’s leading provider of business software*. Today, more than 41,200 customers in more than 120 countries run SAP® applications—from distinct solutions addressing the needs of small businesses and midsize companies to suite offerings for global organizations. Powered by the SAP NetWeaver® platform to drive innovation and enable business change, SAP software helps enterprises of all sizes around the world improve customer relationships, enhance partner collaboration and create efficiencies across their supply chains and business operations. SAP solution portfolios support the unique business processes of more than 25 industries, including high tech, retail, financial services, healthcare and the public sector. With subsidiaries in more than 50 countries, the company is listed on several exchanges, including the Frankfurt stock exchange and NYSE under the symbol “SAP.” (Additional information at )
(*) SAP defines business software as comprising enterprise resource planning and related applications such as supply chain management, customer relationship management, product life-cycle management and supplier relationship management.
Any statements contained in this document that are not historical facts are forward-looking statements as defined in the U.S. Private Securities Litigation Reform Act of 1995. Words such as “anticipate,” “believe,” “estimate,” “expect,” “forecast,” “intend,” “may,” “plan,” “project,” “predict,” “should” and “will” and similar expressions as they relate to SAP are intended to identify such forward-looking statements. SAP undertakes no obligation to publicly update or revise any forward-looking statements. All forward-looking statements are subject to various risks and uncertainties that could cause actual results to differ materially from expectations The factors that could affect SAP's future financial results are discussed more fully in SAP's filings with the U.S. Securities and Exchange Commission ("SEC"), including SAP's most recent Annual Report on Form 20-F filed with the SEC. Readers are cautioned not to place undue reliance on these forward-looking statements, which speak only as of their dates.
Copyright © 2007 SAP AG. All rights reserved. SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serve informational purposes only. National product specifications may vary.
Friday, August 10, 2007
SAP All-in-One:
SAP's complete business solution, SAP All-in-One, has been enhanced to meet the needs of midsize companies. We've taken the best practices of industry leaders and built them into a single integrated system that enables you to optimize all facets of your business operations – and manage both operational efficiency and growth.
Based on SAP ERP 6.0 and SAP CRM, SAP All-in-One can address the business software requirements of the most demanding midsize organizations. ERP software provides a fully integrated system to support your core business processes, from financials and purchasing to inventory, production, and human resource management. Plus integrated sales, marketing, and service capabilities support your focus on customer relationships. And, with business analytics and reporting capabilities, you have full visibility into your business operations and performance.
Designed to Adapt to Your Changing Business Needs
When you choose SAP All-in-One, you gain immediate access to local implementation and customization support wherever you are in the world. Through our extensive partner network, you can easily find a local partner to adapt your solution to meet specialized needs or to provide a qualified SAP All-in-One partner solution tailored to meet micro-vertical specific needs.
As your business grows and changes, you can continue to adapt your system. Because the software is built on a business process platform, you can easily integrate third-party applications as new business requirements arise. SAP All-in-One also helps you adapt to changing regulations through documentation and reporting support for regulatory compliance.
Optimized for Rapid Adoption and Increased User Productivity
SAP All-in-One was designed for maximum productivity and ease-of-use, so your users will understand how SAP All-in-One helps with their jobs – and adopt the solution quickly. With role-based navigation, they see only the information, reports, and work lists that are relevant to them. Enhanced reporting and printing capabilities feature the latest technology from SAP and Adobe. And a simplified user interface with contextual help also promotes rapid adoption.
Streamlined for a Predictable Cost of Ownership
SAP All-in-One helps minimize your financial exposure by offering a predictable cost of ownership, letting you budget in advance and eliminate the risk of hidden or add-on costs. Mapping closely to your current business processes, SAP All-in-One can be deployed quickly – and rapid deployment tools and accelerator packs enable fast and efficient provisioning by SAP's partners, making your transition to SAP All-in-One straightforward. Plus, because the software is based on SAP ERP 6.0, you gain from ongoing enhancements and innovation without risking business disruption.
Based on SAP ERP 6.0 and SAP CRM, SAP All-in-One can address the business software requirements of the most demanding midsize organizations. ERP software provides a fully integrated system to support your core business processes, from financials and purchasing to inventory, production, and human resource management. Plus integrated sales, marketing, and service capabilities support your focus on customer relationships. And, with business analytics and reporting capabilities, you have full visibility into your business operations and performance.
Designed to Adapt to Your Changing Business Needs
When you choose SAP All-in-One, you gain immediate access to local implementation and customization support wherever you are in the world. Through our extensive partner network, you can easily find a local partner to adapt your solution to meet specialized needs or to provide a qualified SAP All-in-One partner solution tailored to meet micro-vertical specific needs.
As your business grows and changes, you can continue to adapt your system. Because the software is built on a business process platform, you can easily integrate third-party applications as new business requirements arise. SAP All-in-One also helps you adapt to changing regulations through documentation and reporting support for regulatory compliance.
Optimized for Rapid Adoption and Increased User Productivity
SAP All-in-One was designed for maximum productivity and ease-of-use, so your users will understand how SAP All-in-One helps with their jobs – and adopt the solution quickly. With role-based navigation, they see only the information, reports, and work lists that are relevant to them. Enhanced reporting and printing capabilities feature the latest technology from SAP and Adobe. And a simplified user interface with contextual help also promotes rapid adoption.
Streamlined for a Predictable Cost of Ownership
SAP All-in-One helps minimize your financial exposure by offering a predictable cost of ownership, letting you budget in advance and eliminate the risk of hidden or add-on costs. Mapping closely to your current business processes, SAP All-in-One can be deployed quickly – and rapid deployment tools and accelerator packs enable fast and efficient provisioning by SAP's partners, making your transition to SAP All-in-One straightforward. Plus, because the software is based on SAP ERP 6.0, you gain from ongoing enhancements and innovation without risking business disruption.
SAP Solutions for Midsize Companies
What makes midsize companies like yours great?
Your operation is lean and efficient. Your team can identify and respond quickly to market changes. And nobody understands your customers better or provides a higher level of service. Maintaining these competitive advantages isn't easy though. And that's especially true if your company's growth is making it difficult to give every aspect of your operation the same level of attention that built your business.
You know that business management software can help, but you can't afford to interrupt operations while you install it. It has to be a cost-effective solution from a proven provider. And the solution you choose has to meet your needs today – and tomorrow.
It's time to consider SAP solutions for midsize companies.
SAP provides a comprehensive portfolio of solutions that can be implemented quickly and affordably to handle today's industry-specific business challenges, and those midsize companies will face in the future. Midsize company solutions and services include
Your operation is lean and efficient. Your team can identify and respond quickly to market changes. And nobody understands your customers better or provides a higher level of service. Maintaining these competitive advantages isn't easy though. And that's especially true if your company's growth is making it difficult to give every aspect of your operation the same level of attention that built your business.
You know that business management software can help, but you can't afford to interrupt operations while you install it. It has to be a cost-effective solution from a proven provider. And the solution you choose has to meet your needs today – and tomorrow.
It's time to consider SAP solutions for midsize companies.
SAP provides a comprehensive portfolio of solutions that can be implemented quickly and affordably to handle today's industry-specific business challenges, and those midsize companies will face in the future. Midsize company solutions and services include
Security on SAP NetWeaver Portal
Security is paramount in the IT industry. Enterprise portals – the interfaces between company networks and the Internet – particularly need to be protected from unauthorized access. Various forms of authentication pledge to fend off potential intruders. An evaluation of the various procedures helps companies make the right choice.
Companies that set up a portal on the Internet are confronted with the question of how to configure access. They need to ensure that unauthorized persons cannot use the portal. So if they make information available on the portal to employees, partners, customers, or subcontractors, they have to be able to identify users beyond doubt. Many companies used to rely on static passwords, but these cannot adequately protect business-critical data from misuse.
Modern, secure authentication involves two things: what users have and what they know. Users have a token – such as a USB stick or number generator – or a card, and they must also enter a password or a PIN. Currently, two common procedures enable such a two-factor check: the one-time password and authentication using a certificate. Both technologies are highly secure, simple to use, and easy to maintain. Furthermore, they ensure stable operation.
Finding the right solution
To find the most suitable solution for an enterprise portal, a company first needs to compare the pros and cons of both technologies, bearing in mind that the one-time password method and the certificate solution take different approaches.
With the password method, portable hardware generates a passcode at each logon that is valid only once. For example, the company RSA, headquartered in Bedford, Massachusetts, provides a token called SecurID that generates numeric passcodes. Chips from other providers (such as Kobil, Vasco, and Aladdin) are not time-synchronized, but instead generate codes at the touch of a button.
Password generators usually come in the form of key rings but are available in other formats, too. The SecurID token, for example, is available as a credit-card-sized device with an integrated keypad for entering the PIN directly into the device. Password-generation software can also be installed on mobile phones.
All one-time password methods require a PIN as well as the code to log on to the portal. The application side needs a server that calculates the valid token code using an algorithm and compares it with what the user entered. As a rule, authentication servers from all providers are accessible using the RADIUS (Remote Authentication Dial-In User Service) protocol. So to use one of these password methods with the SAP NetWeaver Portal component, the user must enable authentication based on RADIUS.
Plugging into the portal
Smart cards and USB sticks with digital certificates are alternatives to the password method. A great hurdle to using smart cards for authentication in enterprise portals is that the user's PC must have a card reader. Such readers are not widely available, so the smart card is not usually the first choice for accessing data away from the office.
In contrast, USB sticks with digital certificates are more manageable and flexible. No bigger than a mechanical key, they combine smart card and reader in a handy device. However, the smart card concept loses points because it is inflexible and cumbersome: Even though the reader is integrated into the USB drive, the related driver must be installed on the work station. This considerably restricts its use on the road, especially because, in general, only administrators are authorized to install the software.
Hardware provider Kobil, headquartered in Worms, Germany, is breaking new ground. Kobil's mIDentity is a USB drive that incorporates a card, a reader, and flash memory. It includes both the required driver and other software, such as an Internet browser, making it ideal for users who have preconfigured access to SAP NetWeaver Portal. They can authenticate themselves using mIDentity without having administrator rights or installing software on their local PC. The solution is compatible with practically all PC operating systems (Windows, Linux, and Mac OS X).
Because the key works according to the zero-footprint principle, once the USB drive has been unplugged, no data remains on the PC that could be accessed by intruders.
As well as the question of usability and flexibility, companies must look at how the selected procedure can be integrated into SAP NetWeaver Portal from an IT perspective. The one-time password method involves more work because authentication using the RADIUS protocol is not within the functional scope of the portal. This approach requires installing additional software or delegating authentication to a feeder component connected with the portal.
The feeder component may be a proxy system: The proxy server transfers the user ID in the HTTP header to the portal server, and the actual access check takes place in SAP NetWeaver Portal using the HTTP header login module. However, authentication using the HTTP header is problematic from a security point of view. Apart from the proxy, no server should be authorized to log users on using the HTTP headers. To prevent the header's being transferred, the proxy system should log on to the portal using a client certificate, and this certificate should be configured to reject HTTP headers from other sources.
Integrating the check into SAP NetWeaver
Another way to integrate the one-time password method into SAP NetWeaver Portal is to use additional software. SAP security expert SecurIntegration, headquartered in Cologne, Germany, provides such a module: The SI EP/Agent, based on JAAS (Java Authentication and Authorization Service), enables authentication with one-time password products from various providers directly on the SAP portal.
Because authentication with a certificate token uses the procedures provided in the SSL protocol, integrating this checking mechanism into SAP NetWeaver is easy. Digital certificates are part of the portal's functional scope, and most Web applications can handle digital certificates too. This also facilitates the integration of applications from other providers into the portal's single-sign-on function.
When a company is selecting an access mechanism, the degree of security is an important criterion. In this respect, the USB solutions come out on top. In particular, they protect more effectively from man-in-the-middle attacks, in which the intruder positions himself or herself between the communicating partners to intercept the token code: When access is verified using a certificate, the portal operator does not depend on the user's recognizing the man-in-the-middle attack. The man-in-the-middle is detected and locked out from the server side by authentication by both parties, based on the SSL protocol.
Operating either access mechanism requires a technical infrastructure as well as a token. USB devices use a public key infrastructure (PKI) for generating and administrating the keys. One-time password methods use the authentication server. The PKI-based access check still functions even if the infrastructure breaks down, but the one-time password method depends on the availability of the authentication server. The demands on the central system are thus considerably greater.
On the client side, however, one-time passwords have the significant advantage of not requiring the installation of additional devices or programs and are independent of local software. With USB solutions – particularly when a client outside the operator's administrative sovereignty accesses the portal – the user must install a driver to gain access. Kobil's USB solution offers an interesting alternative.
Companies that set up a portal on the Internet are confronted with the question of how to configure access. They need to ensure that unauthorized persons cannot use the portal. So if they make information available on the portal to employees, partners, customers, or subcontractors, they have to be able to identify users beyond doubt. Many companies used to rely on static passwords, but these cannot adequately protect business-critical data from misuse.
Modern, secure authentication involves two things: what users have and what they know. Users have a token – such as a USB stick or number generator – or a card, and they must also enter a password or a PIN. Currently, two common procedures enable such a two-factor check: the one-time password and authentication using a certificate. Both technologies are highly secure, simple to use, and easy to maintain. Furthermore, they ensure stable operation.
Finding the right solution
To find the most suitable solution for an enterprise portal, a company first needs to compare the pros and cons of both technologies, bearing in mind that the one-time password method and the certificate solution take different approaches.
With the password method, portable hardware generates a passcode at each logon that is valid only once. For example, the company RSA, headquartered in Bedford, Massachusetts, provides a token called SecurID that generates numeric passcodes. Chips from other providers (such as Kobil, Vasco, and Aladdin) are not time-synchronized, but instead generate codes at the touch of a button.
Password generators usually come in the form of key rings but are available in other formats, too. The SecurID token, for example, is available as a credit-card-sized device with an integrated keypad for entering the PIN directly into the device. Password-generation software can also be installed on mobile phones.
All one-time password methods require a PIN as well as the code to log on to the portal. The application side needs a server that calculates the valid token code using an algorithm and compares it with what the user entered. As a rule, authentication servers from all providers are accessible using the RADIUS (Remote Authentication Dial-In User Service) protocol. So to use one of these password methods with the SAP NetWeaver Portal component, the user must enable authentication based on RADIUS.
Plugging into the portal
Smart cards and USB sticks with digital certificates are alternatives to the password method. A great hurdle to using smart cards for authentication in enterprise portals is that the user's PC must have a card reader. Such readers are not widely available, so the smart card is not usually the first choice for accessing data away from the office.
In contrast, USB sticks with digital certificates are more manageable and flexible. No bigger than a mechanical key, they combine smart card and reader in a handy device. However, the smart card concept loses points because it is inflexible and cumbersome: Even though the reader is integrated into the USB drive, the related driver must be installed on the work station. This considerably restricts its use on the road, especially because, in general, only administrators are authorized to install the software.
Hardware provider Kobil, headquartered in Worms, Germany, is breaking new ground. Kobil's mIDentity is a USB drive that incorporates a card, a reader, and flash memory. It includes both the required driver and other software, such as an Internet browser, making it ideal for users who have preconfigured access to SAP NetWeaver Portal. They can authenticate themselves using mIDentity without having administrator rights or installing software on their local PC. The solution is compatible with practically all PC operating systems (Windows, Linux, and Mac OS X).
Because the key works according to the zero-footprint principle, once the USB drive has been unplugged, no data remains on the PC that could be accessed by intruders.
As well as the question of usability and flexibility, companies must look at how the selected procedure can be integrated into SAP NetWeaver Portal from an IT perspective. The one-time password method involves more work because authentication using the RADIUS protocol is not within the functional scope of the portal. This approach requires installing additional software or delegating authentication to a feeder component connected with the portal.
The feeder component may be a proxy system: The proxy server transfers the user ID in the HTTP header to the portal server, and the actual access check takes place in SAP NetWeaver Portal using the HTTP header login module. However, authentication using the HTTP header is problematic from a security point of view. Apart from the proxy, no server should be authorized to log users on using the HTTP headers. To prevent the header's being transferred, the proxy system should log on to the portal using a client certificate, and this certificate should be configured to reject HTTP headers from other sources.
Integrating the check into SAP NetWeaver
Another way to integrate the one-time password method into SAP NetWeaver Portal is to use additional software. SAP security expert SecurIntegration, headquartered in Cologne, Germany, provides such a module: The SI EP/Agent, based on JAAS (Java Authentication and Authorization Service), enables authentication with one-time password products from various providers directly on the SAP portal.
Because authentication with a certificate token uses the procedures provided in the SSL protocol, integrating this checking mechanism into SAP NetWeaver is easy. Digital certificates are part of the portal's functional scope, and most Web applications can handle digital certificates too. This also facilitates the integration of applications from other providers into the portal's single-sign-on function.
When a company is selecting an access mechanism, the degree of security is an important criterion. In this respect, the USB solutions come out on top. In particular, they protect more effectively from man-in-the-middle attacks, in which the intruder positions himself or herself between the communicating partners to intercept the token code: When access is verified using a certificate, the portal operator does not depend on the user's recognizing the man-in-the-middle attack. The man-in-the-middle is detected and locked out from the server side by authentication by both parties, based on the SSL protocol.
Operating either access mechanism requires a technical infrastructure as well as a token. USB devices use a public key infrastructure (PKI) for generating and administrating the keys. One-time password methods use the authentication server. The PKI-based access check still functions even if the infrastructure breaks down, but the one-time password method depends on the availability of the authentication server. The demands on the central system are thus considerably greater.
On the client side, however, one-time passwords have the significant advantage of not requiring the installation of additional devices or programs and are independent of local software. With USB solutions – particularly when a client outside the operator's administrative sovereignty accesses the portal – the user must install a driver to gain access. Kobil's USB solution offers an interesting alternative.
Thursday, August 9, 2007
The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 1
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
Applies to:
SAP NetWeaver Composition Environment 7.1
Summary
The focus of this document is on the migration of J2EE-compliant applications to SAP NetWeaver Composition Environment (CE) from a technical point of view.
This document introduces the purpose and functionality of the migration plug-in. A sample application is used to exemplify the use of the tool as well as the basic steps to migrate an application to SAP NetWeaver CE.
Author: Markus Küfer
Company: SAP AG
Created on: June 2007
Author Bio
Markus Küfer holds a degree in medical informatics from the University of Heidelberg, Germany.
He joined SAP in 2000 and worked on Java application and technology frameworks as well as on customer specific J2EE development.
With the advent of JDO, Markus joined the initial core team that created the SAP JDO implementation and served as SAP's representative in the JDO Java Specification Request expert group (JSR 243). After some SAP J2EE Engine kernel development and design of the SAP EJB 3.0 implementation, he now imparts knowledge as a Solution Architect in the Global Ecosystem and Partner Group, Market Development Engineering team.
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 2
Table of Contents
Applies to:.......................................................................................................................................1
SAP NetWeaver Composition Environment 7.1..............................................................................1
Summary.........................................................................................................................................1
Author Bio.......................................................................................................................................1
Table of Contents...........................................................................................................................2
Purpose...........................................................................................................................................3
How does the Tool work?................................................................................................................4
Transformed Descriptors..............................................................................................................4
Created SAP NetWeaver CE Developer Studio Projects............................................................4
Using the Migration-Plug-in: A Sample Migration............................................................................5
Preparation/Get the Database ready...........................................................................................5
Installing the Migration Plug-in.....................................................................................................8
Create the IDE Projects and transform the Descriptors – Using the Migration Plug-in.............10
Project Structure Completion.....................................................................................................13
Datasource Adjustments............................................................................................................14
JNDI Adjustments.....................................................................................................................14
Deploy and run the Application..................................................................................................18
Related Content............................................................................................................................21
Copyright.......................................................................................................................................22
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 3
Purpose
The Migration Plug-in is an Eclipse plug-in for the Eclipse based SAP NetWeaver Developer Studio for CE.
The plug-in allows importing third-party projects into the NetWeaver Developer Studio for CE. During the import all resources are copied into the right project structure and vendor specific deployment descriptors are converted to the corresponding SAP descriptors using XSLT transformations.
The primary focus is on the transformation of the EJB project’s proprietary object-relational mapping descriptor which is one of the trickiest parts when it comes to migrating the descriptors.
The supported J2EE 1.3 and J2EE 1.4 compliant source platforms are:
• JBoss 3.x - 4.0.5
• BEA WebLogic Server 7.0 – 9.2
The generated CE Developer Studio projects are J2EE 1.4 compliant, although CE supports Java EE 5 as well.
There are several reasons to do so:
• The use of descriptors is not encouraged any more, as they are succeeded by annotations
• EJB 3 provides a standardised object-relational mapping, it is not proprietary any more as it was up to EJB 2.1.
• Not only the mapping, but also (the EJB) programming paradigm has changed dramatically. This can hardly be addressed tool-wise.
For example, some object-relational mappings are not allowed any more and can therefore not be applied to EJB 3, entities are just plain old java classes, no need for business and home interfaces any more, no more home interfaces for session beans, dependency injection simplifies coding a lot, etc.
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 4
How does the Tool work?
This will give you a more detailed understanding of how the tool works.
The subsequent sections will describe the tool’s use in an exemplifying migration sample.
Transformed Descriptors
The plug-in’s built-in XSLT transformation addresses the web project and ejb project descriptors. For J2EE 1.3 and 1.4 compliant projects, the proprietary descriptors like “jboss-web.xml”, “weblogic.xml” for web projects or “jboss.xml”, “weblogic-ejb-jar.xml” and “jbosscmp-jdbc.xml”, “weblogic-cmp-rdbms-jar.xml” for ejb projects are considered.
A J2EE 1.3 compliant project additionally requires the Migration Plug-In to transform the standard descriptors “web.xml” and “ejb-jar.xml” into J2EE 1.4 compliant descriptors as well.
Both the proprietary and the standard descriptors had undergone a change in the way they are described, from doctype to schema-based descriptors. The tool handles that implicitly as well.
For your convenience, the original descriptors are copied as a reference. To avoid name collisions, the suffix “.orig” will be added to the original “web.xml” and the original “ejb-jar.xml”. You can safely delete them.
The migration of web services implementations or web service related content in the descriptors described above is also out of scope of the tool. As the CE NetWeaver Developer Studio supports the latest web service standards now part of Java EE 5, it is reasonable to migrate in a “fall-forward fashion” and to make use of the standardised web service support.
Created SAP NetWeaver CE Developer Studio Projects
The Migration Plug-in creates J2EE 1.4 compliant EJB and Web projects.
For web projects, the specification of the following is required:
• Web Content Directory
• Java Source Directory
• Descriptor Directory
EJB projects require the following to be specified:
• Source Directory
• Descriptor Directory
If you realise the way the plug-in works does not suit the way the projects to be migrated are structured, you can still make use of the tool’s prime feature, the (object-relational) mapping descriptors’ transformation. Just do it for each of the projects, to get the descriptors, merge them and create the final SAP NetWeaver CE Developer Studio projects according to your specific needs.
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 5
Using the Migration-Plug-in: A Sample Migration
The J2EE 1.4 compliant sample application to be migrated was created by means of XDoclet for JBoss as target runtime.
It is a simple, yet complete application with regards to the object-relational mapping used.
The application deals with Employees, Departments, Projects, Products and Contact Data entity beans which are used in a so-called Services stateless session bean that serves as session-façade.
Preparation/Get the Database ready
For this sample, we create the database tables with in the Persistence Perspective of the NetWeaver Development Studio for CE.
Therefore, we need to establish a designtime connection to the database.
We will use the Java EE engine’s schema.
Switch to the Persistence Perspective. On the “Database Explorer” view, right-click “Connectons”, select “New Connection…”, enter the parameters according to your installation and press “Finish”:
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 6
The table definitions come along with the sample code in the “JMTS” folder, file “tables.sql”.
To create the tables, navigate along “CE1CE1SchemasSAPDBCE1Tables”, right-click and select “New””With SQL Editor”.
A new editor tab will open. Delete its content, copy and paste the content of “tables.sql” into the editor.
Right-click the editor’s canvas and select “Run SQL”. This will create all the necessary tables:
To access the tables at runtime, we need to create a datasource named “MigrationDS”:
Open the “NetWeaver Administrator”: http://localhost:50100/nwa in your browser.
Click “SystemsStart Stop Java EE Applications Application Resources” and select “Create New JDBC Custom Datasource” and enter the values as you did for the Developer Studio:
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 7
Make sure you select “Native SQL” or “Vendor SQL”.
Press “Save” to create the datasource finally.1
1 You may want the MigrationDS to be started automatically on server start-up. Therefore, switch to “Start & Stop Java EE Applicatins“, filter the list by “MigrationDS“, select it and press “Start“ “On All Instances And Set Started“ As Initial State“.
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 8
Installing the Migration Plug-in
Unpack the jar files contained in the zip file for the Migration Plug-in you downloaded.
Straightforwardly copy those plug-in jar files into the eclipse plug-in folder2:
Now start the NetWeaver Developer Studio for CE. If you started it before you copied the jars, please restart it.
If you connect to the internet through a firewall, please do the proxy settings accordingly. It is the most reliable way is to do this on the IDE VM level3:
Open “Window””Preferences…””Java””Installed JREs”, select your JRE, click “Edit…” and enter your proxy settings accordingly:
2 Copying the jar for BEA is fine as well. If you migrate a BEA project, you have to copy it.
3 The Internet Proxy settings on the Preferences page did not work for me.
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 9
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 10
Create the IDE Projects and transform the Descriptors – Using the Migration Plug-in
Unpack the .zip file that contains the sample application.
It consists of an EJB part and a web part.
Open “File””Import…””Other””J2EE Project Migration”:
The window you will see next is supposed to collect all the information needed to migrate the sample application.
The “From folder” just specifies a convenient default folder to start from that is used when you add a Java, EJB or Web project.
Choose the folder you unpacked the sample application to.
The “Primal Server” is JBoss in this case, as we migrate an app that formerly ran on JBoss.
We first specify where the EJB module’s sources and descriptors can be found. Select “Add Ejb Module”, specify how you want the generated Eclipse project to be named and browse the folders appropriately as show below:
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 11
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 12
We will now collect all the information needed for the web module:
Select “Add Web Module” ”, specify how you want the generated Eclipse project to be named and browse the folders appropriately as show below:
Press “OK” to return and “Finish” to start the project creations and descriptor transformations.
Your workspace will look similar to this:
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 13
Project Structure Completion
We complete the project structure by the creation of an ear project that contains “JmtsEJB” and “JmtsWeb”:
Select “File” “New” “Project…” “J2EE” “Enterprise Application Project”, enter a project name, “JmtsEAR”, for example, press “Next >” two times, select the appropriate web and EJB project (“JmtsWeb” and “JmtsEJB”) and press “Finish”.
To make the EJB classes known in the web project, a reference to the EJB project (“JmtsEJB”) has to be set in the web project (“JmtsWeb”):
Right-click the web project (“JmtsWeb”), select “Properties”, goto “Java Build Path” and switch to the tab “Projects”. Press “Add…” and select the appropriate EJB project (“JmtsEJB”) and press “OK” two times.
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 14
Rebuild your projects to resolve any classpath related issues.
Datasource Adjustments
The sample application is not yet migrated completely. The sample application should run on the datasource named “MigrationDS” we created at the very beginning.
Therefore, it needs to be introduced in the newly generated persistent.xml.
Open the “persistent.xml” (in the J2EE perspective), navigate to the “General” tab and enter “MigrationDS” as the Datasource name and save the “persistent.xml”:
One of the challenges that every migration encounters is the adaptation of the JNDI naming. The JBoss sample application is no exception to that.
JNDI Adjustments
It is common practice and good style to use local JNDI references and lookup as it is encouraged by the Java EE specs to support portability.
Open the “ejb-jar.xml” in the “META-INF” folder of the EJB project (“JmtsEJB”) and you will find that no local references are declared from the Services session bean to all its used entity beans. The JNDI lookups in the Services session beans are all done by using their respective global JNDI lookup name.
The next step is to use local JNDI references instead:
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 15
Switch to the “Enterprise Beans” tab, open “session beans”, then expand the “Services” session bean “JNDI Env Refs” “ejb local ref”, right-click and chose “Add”, select all entries beside the “ServicesSession” for your EJB project (“JmtsEJB”) and click “OK”:
Save the “ejb-jar.xml” file. Your references should look like this now:
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 16
The next step is to check how the “Services” session bean looks up the entity beans it uses and to use the local JNDI references we just declared.
Open the “Services.java” file which resides in your EJB project (“JmtsEJB”), package “de.sap.demo.test.ejb”, and navigate to the “setSessionContext” method.
The creation of the initial context does not need any property parameters because the lookup happens inside the server and will reference objects that reside on the same server, too. Therefore, delete the “properties” declaration and remove its use as parameter to the “InitialContext” creation.
Change each lookup string to the reference declared in “ejb-jar.xml”. For example, change "/ejb/EmployeeLocalHome" to “java:comp/env/ejb/Employee”.
Proceed with all the other lookups in the “setSessionContext” method in the same manner and save “Services.java”:
Now have a look at the “ejb-j2ee-engine.xml” (and the original “jboss.xml”, too. It was copied to the newly created CE EJB project as well.). As it is common practice with JBoss, the EJBs’ JNDI names start with “ejb/”.
With NetWeaver CE, the JNDI entry “ejb” is already used, as there is a reserved top level naming entry for each of the Java EE engine’s services. Therefore, this leading “ejb/” prefix has to be removed from the JNDI name of all session and entity beans. This will cause the beans to be registered underneath the “ejbContexts” folder in the JNDI tree.
Open the “ejb-j2ee-engine.xml” in the “META-INF” folder of the EJB project (“JmtsEJB”). In the “Entity Beans” tab, open both “session beans” and “entity beans” and correct each bean’s JNDI name by removing “ejb/”:
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 17
Do not forget to save the “ejb-j2ee-engine.xml” file.
Note that we do not make use of the JNDI names declared in “ejb-j2ee-engine.xml” within the sample application, but they could be used for lookups from non-J2EE applications, for example.4
Now we have to check the actual JNDI lookups for the “Services” session bean in the EJB project’s coding:
There is a “Helper” class in the package “de.sap.demo.test.util” that implements the JNDI lookup of the “Services” session bean. It is used by the web project (“JmtsWeb”) only:5
The “Services” session bean’s lookup is “java:comp/env/ejb/Services”.
As it is used by the web project (“JmtsWeb”) only, check its “web.xml” to see if the lookup string of the Helper class is according to the EJB reference name declared there:
4 Even better then, use the newly introduced EJB lookup scheme for more fexibilty between the client lookup string and the real JNDI binding.
5 Preferably move it to the web project.
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 18
The EJB reference name is “ejb/Services”, everything is fine.6
Deploy and run the Application
This is the time to check whether the application is ready to run.
To deploy it, switch to the J2EE perspective, select the “Server” view and right-click the “SAP Server” icon and select “Add and Remove Projects…”.
Now add your EAR project (“JmtsEAR”) by selecting it, pressing “Add >” and “Finish”:
6 The “ListProjectsE.jsp” does the lookup on its own, without use of the Helper class; it already uses the correct lookup string, too.
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 19
You will then be asked to enter your user and password for the deployment:
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 20
This should be the deployment’s result:
Now let’s run the application.
The URL should be something like http://localhost:50100/JmtsWeb/index.html. Change it according to your server, port and web project name (JmtsWeb, in this case).
This should be the result:
To give it a try, start by creating a Department and a Project.
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 21
Related Content
• The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
• Sample application used in this how-to guide
• Screen cam that shows how to work with the Migration-Plug-in
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 22
Copyright
© Copyright 2007 SAP AG. All rights reserved.
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice.
Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors.
Microsoft, Windows, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation.
IBM, DB2, DB2 Universal Database, OS/2, Parallel Sysplex, MVS/ESA, AIX, S/390, AS/400, OS/390, OS/400, iSeries, pSeries, xSeries, zSeries, z/OS, AFP, Intelligent Miner, WebSphere, Netfinity, Tivoli, Informix, i5/OS, POWER, POWER5, OpenPower and PowerPC are trademarks or registered trademarks of IBM Corporation.
Adobe, the Adobe logo, Acrobat, PostScript, and Reader are either trademarks or registered trademarks of Adobe Systems Incorporated in the United States and/or other countries.
Oracle is a registered trademark of Oracle Corporation.
UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group.
Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc.
HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C®, World Wide Web Consortium, Massachusetts Institute of Technology.
Java is a registered trademark of Sun Microsystems, Inc.
JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape.
MaxDB is a trademark of MySQL AB, Sweden.
SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary.
These materials are subject to change without notice. These materials are provided by SAP AG and its affiliated companies ("SAP Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty.
These materials are provided “as is” without a warranty of any kind, either express or implied, including but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or non-infringement.
SAP shall not be liable for damages of any kind including without limitation direct, special, indirect, or consequential damages that may result from the use of these materials.
SAP does not warrant the accuracy or completeness of the information, text, graphics, links or other items contained within these materials. SAP has no control over the information that you may access through the use of hot links contained in these materials and does not endorse your use of third party web pages nor provide any warranty whatsoever relating to third party web pages.
Any software coding and/or code lines/strings (“Code”) included in this documentation are only examples and are not intended to be used in a productive system environment. The Code is only intended better explain and visualize the syntax and phrasing rules of certain coding. SAP does not warrant the correctness and completeness of the Code given herein, and SAP shall not be liable for errors or damages caused by the usage of the Code, except if such damages were caused by SAP intentionally or grossly negligent.
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 1
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
Applies to:
SAP NetWeaver Composition Environment 7.1
Summary
The focus of this document is on the migration of J2EE-compliant applications to SAP NetWeaver Composition Environment (CE) from a technical point of view.
This document introduces the purpose and functionality of the migration plug-in. A sample application is used to exemplify the use of the tool as well as the basic steps to migrate an application to SAP NetWeaver CE.
Author: Markus Küfer
Company: SAP AG
Created on: June 2007
Author Bio
Markus Küfer holds a degree in medical informatics from the University of Heidelberg, Germany.
He joined SAP in 2000 and worked on Java application and technology frameworks as well as on customer specific J2EE development.
With the advent of JDO, Markus joined the initial core team that created the SAP JDO implementation and served as SAP's representative in the JDO Java Specification Request expert group (JSR 243). After some SAP J2EE Engine kernel development and design of the SAP EJB 3.0 implementation, he now imparts knowledge as a Solution Architect in the Global Ecosystem and Partner Group, Market Development Engineering team.
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 2
Table of Contents
Applies to:.......................................................................................................................................1
SAP NetWeaver Composition Environment 7.1..............................................................................1
Summary.........................................................................................................................................1
Author Bio.......................................................................................................................................1
Table of Contents...........................................................................................................................2
Purpose...........................................................................................................................................3
How does the Tool work?................................................................................................................4
Transformed Descriptors..............................................................................................................4
Created SAP NetWeaver CE Developer Studio Projects............................................................4
Using the Migration-Plug-in: A Sample Migration............................................................................5
Preparation/Get the Database ready...........................................................................................5
Installing the Migration Plug-in.....................................................................................................8
Create the IDE Projects and transform the Descriptors – Using the Migration Plug-in.............10
Project Structure Completion.....................................................................................................13
Datasource Adjustments............................................................................................................14
JNDI Adjustments.....................................................................................................................14
Deploy and run the Application..................................................................................................18
Related Content............................................................................................................................21
Copyright.......................................................................................................................................22
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 3
Purpose
The Migration Plug-in is an Eclipse plug-in for the Eclipse based SAP NetWeaver Developer Studio for CE.
The plug-in allows importing third-party projects into the NetWeaver Developer Studio for CE. During the import all resources are copied into the right project structure and vendor specific deployment descriptors are converted to the corresponding SAP descriptors using XSLT transformations.
The primary focus is on the transformation of the EJB project’s proprietary object-relational mapping descriptor which is one of the trickiest parts when it comes to migrating the descriptors.
The supported J2EE 1.3 and J2EE 1.4 compliant source platforms are:
• JBoss 3.x - 4.0.5
• BEA WebLogic Server 7.0 – 9.2
The generated CE Developer Studio projects are J2EE 1.4 compliant, although CE supports Java EE 5 as well.
There are several reasons to do so:
• The use of descriptors is not encouraged any more, as they are succeeded by annotations
• EJB 3 provides a standardised object-relational mapping, it is not proprietary any more as it was up to EJB 2.1.
• Not only the mapping, but also (the EJB) programming paradigm has changed dramatically. This can hardly be addressed tool-wise.
For example, some object-relational mappings are not allowed any more and can therefore not be applied to EJB 3, entities are just plain old java classes, no need for business and home interfaces any more, no more home interfaces for session beans, dependency injection simplifies coding a lot, etc.
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 4
How does the Tool work?
This will give you a more detailed understanding of how the tool works.
The subsequent sections will describe the tool’s use in an exemplifying migration sample.
Transformed Descriptors
The plug-in’s built-in XSLT transformation addresses the web project and ejb project descriptors. For J2EE 1.3 and 1.4 compliant projects, the proprietary descriptors like “jboss-web.xml”, “weblogic.xml” for web projects or “jboss.xml”, “weblogic-ejb-jar.xml” and “jbosscmp-jdbc.xml”, “weblogic-cmp-rdbms-jar.xml” for ejb projects are considered.
A J2EE 1.3 compliant project additionally requires the Migration Plug-In to transform the standard descriptors “web.xml” and “ejb-jar.xml” into J2EE 1.4 compliant descriptors as well.
Both the proprietary and the standard descriptors had undergone a change in the way they are described, from doctype to schema-based descriptors. The tool handles that implicitly as well.
For your convenience, the original descriptors are copied as a reference. To avoid name collisions, the suffix “.orig” will be added to the original “web.xml” and the original “ejb-jar.xml”. You can safely delete them.
The migration of web services implementations or web service related content in the descriptors described above is also out of scope of the tool. As the CE NetWeaver Developer Studio supports the latest web service standards now part of Java EE 5, it is reasonable to migrate in a “fall-forward fashion” and to make use of the standardised web service support.
Created SAP NetWeaver CE Developer Studio Projects
The Migration Plug-in creates J2EE 1.4 compliant EJB and Web projects.
For web projects, the specification of the following is required:
• Web Content Directory
• Java Source Directory
• Descriptor Directory
EJB projects require the following to be specified:
• Source Directory
• Descriptor Directory
If you realise the way the plug-in works does not suit the way the projects to be migrated are structured, you can still make use of the tool’s prime feature, the (object-relational) mapping descriptors’ transformation. Just do it for each of the projects, to get the descriptors, merge them and create the final SAP NetWeaver CE Developer Studio projects according to your specific needs.
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 5
Using the Migration-Plug-in: A Sample Migration
The J2EE 1.4 compliant sample application to be migrated was created by means of XDoclet for JBoss as target runtime.
It is a simple, yet complete application with regards to the object-relational mapping used.
The application deals with Employees, Departments, Projects, Products and Contact Data entity beans which are used in a so-called Services stateless session bean that serves as session-façade.
Preparation/Get the Database ready
For this sample, we create the database tables with in the Persistence Perspective of the NetWeaver Development Studio for CE.
Therefore, we need to establish a designtime connection to the database.
We will use the Java EE engine’s schema.
Switch to the Persistence Perspective. On the “Database Explorer” view, right-click “Connectons”, select “New Connection…”, enter the parameters according to your installation and press “Finish”:
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 6
The table definitions come along with the sample code in the “JMTS” folder, file “tables.sql”.
To create the tables, navigate along “CE1CE1SchemasSAPDBCE1Tables”, right-click and select “New””With SQL Editor”.
A new editor tab will open. Delete its content, copy and paste the content of “tables.sql” into the editor.
Right-click the editor’s canvas and select “Run SQL”. This will create all the necessary tables:
To access the tables at runtime, we need to create a datasource named “MigrationDS”:
Open the “NetWeaver Administrator”: http://localhost:50100/nwa in your browser.
Click “SystemsStart Stop Java EE Applications Application Resources” and select “Create New JDBC Custom Datasource” and enter the values as you did for the Developer Studio:
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 7
Make sure you select “Native SQL” or “Vendor SQL”.
Press “Save” to create the datasource finally.1
1 You may want the MigrationDS to be started automatically on server start-up. Therefore, switch to “Start & Stop Java EE Applicatins“, filter the list by “MigrationDS“, select it and press “Start“ “On All Instances And Set Started“ As Initial State“.
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 8
Installing the Migration Plug-in
Unpack the jar files contained in the zip file for the Migration Plug-in you downloaded.
Straightforwardly copy those plug-in jar files into the eclipse plug-in folder2:
Now start the NetWeaver Developer Studio for CE. If you started it before you copied the jars, please restart it.
If you connect to the internet through a firewall, please do the proxy settings accordingly. It is the most reliable way is to do this on the IDE VM level3:
Open “Window””Preferences…””Java””Installed JREs”, select your JRE, click “Edit…” and enter your proxy settings accordingly:
2 Copying the jar for BEA is fine as well. If you migrate a BEA project, you have to copy it.
3 The Internet Proxy settings on the Preferences page did not work for me.
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 9
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 10
Create the IDE Projects and transform the Descriptors – Using the Migration Plug-in
Unpack the .zip file that contains the sample application.
It consists of an EJB part and a web part.
Open “File””Import…””Other””J2EE Project Migration”:
The window you will see next is supposed to collect all the information needed to migrate the sample application.
The “From folder” just specifies a convenient default folder to start from that is used when you add a Java, EJB or Web project.
Choose the folder you unpacked the sample application to.
The “Primal Server” is JBoss in this case, as we migrate an app that formerly ran on JBoss.
We first specify where the EJB module’s sources and descriptors can be found. Select “Add Ejb Module”, specify how you want the generated Eclipse project to be named and browse the folders appropriately as show below:
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 11
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 12
We will now collect all the information needed for the web module:
Select “Add Web Module” ”, specify how you want the generated Eclipse project to be named and browse the folders appropriately as show below:
Press “OK” to return and “Finish” to start the project creations and descriptor transformations.
Your workspace will look similar to this:
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 13
Project Structure Completion
We complete the project structure by the creation of an ear project that contains “JmtsEJB” and “JmtsWeb”:
Select “File” “New” “Project…” “J2EE” “Enterprise Application Project”, enter a project name, “JmtsEAR”, for example, press “Next >” two times, select the appropriate web and EJB project (“JmtsWeb” and “JmtsEJB”) and press “Finish”.
To make the EJB classes known in the web project, a reference to the EJB project (“JmtsEJB”) has to be set in the web project (“JmtsWeb”):
Right-click the web project (“JmtsWeb”), select “Properties”, goto “Java Build Path” and switch to the tab “Projects”. Press “Add…” and select the appropriate EJB project (“JmtsEJB”) and press “OK” two times.
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 14
Rebuild your projects to resolve any classpath related issues.
Datasource Adjustments
The sample application is not yet migrated completely. The sample application should run on the datasource named “MigrationDS” we created at the very beginning.
Therefore, it needs to be introduced in the newly generated persistent.xml.
Open the “persistent.xml” (in the J2EE perspective), navigate to the “General” tab and enter “MigrationDS” as the Datasource name and save the “persistent.xml”:
One of the challenges that every migration encounters is the adaptation of the JNDI naming. The JBoss sample application is no exception to that.
JNDI Adjustments
It is common practice and good style to use local JNDI references and lookup as it is encouraged by the Java EE specs to support portability.
Open the “ejb-jar.xml” in the “META-INF” folder of the EJB project (“JmtsEJB”) and you will find that no local references are declared from the Services session bean to all its used entity beans. The JNDI lookups in the Services session beans are all done by using their respective global JNDI lookup name.
The next step is to use local JNDI references instead:
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 15
Switch to the “Enterprise Beans” tab, open “session beans”, then expand the “Services” session bean “JNDI Env Refs” “ejb local ref”, right-click and chose “Add”, select all entries beside the “ServicesSession” for your EJB project (“JmtsEJB”) and click “OK”:
Save the “ejb-jar.xml” file. Your references should look like this now:
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 16
The next step is to check how the “Services” session bean looks up the entity beans it uses and to use the local JNDI references we just declared.
Open the “Services.java” file which resides in your EJB project (“JmtsEJB”), package “de.sap.demo.test.ejb”, and navigate to the “setSessionContext” method.
The creation of the initial context does not need any property parameters because the lookup happens inside the server and will reference objects that reside on the same server, too. Therefore, delete the “properties” declaration and remove its use as parameter to the “InitialContext” creation.
Change each lookup string to the reference declared in “ejb-jar.xml”. For example, change "/ejb/EmployeeLocalHome" to “java:comp/env/ejb/Employee”.
Proceed with all the other lookups in the “setSessionContext” method in the same manner and save “Services.java”:
Now have a look at the “ejb-j2ee-engine.xml” (and the original “jboss.xml”, too. It was copied to the newly created CE EJB project as well.). As it is common practice with JBoss, the EJBs’ JNDI names start with “ejb/”.
With NetWeaver CE, the JNDI entry “ejb” is already used, as there is a reserved top level naming entry for each of the Java EE engine’s services. Therefore, this leading “ejb/” prefix has to be removed from the JNDI name of all session and entity beans. This will cause the beans to be registered underneath the “ejbContexts” folder in the JNDI tree.
Open the “ejb-j2ee-engine.xml” in the “META-INF” folder of the EJB project (“JmtsEJB”). In the “Entity Beans” tab, open both “session beans” and “entity beans” and correct each bean’s JNDI name by removing “ejb/”:
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 17
Do not forget to save the “ejb-j2ee-engine.xml” file.
Note that we do not make use of the JNDI names declared in “ejb-j2ee-engine.xml” within the sample application, but they could be used for lookups from non-J2EE applications, for example.4
Now we have to check the actual JNDI lookups for the “Services” session bean in the EJB project’s coding:
There is a “Helper” class in the package “de.sap.demo.test.util” that implements the JNDI lookup of the “Services” session bean. It is used by the web project (“JmtsWeb”) only:5
The “Services” session bean’s lookup is “java:comp/env/ejb/Services”.
As it is used by the web project (“JmtsWeb”) only, check its “web.xml” to see if the lookup string of the Helper class is according to the EJB reference name declared there:
4 Even better then, use the newly introduced EJB lookup scheme for more fexibilty between the client lookup string and the real JNDI binding.
5 Preferably move it to the web project.
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 18
The EJB reference name is “ejb/Services”, everything is fine.6
Deploy and run the Application
This is the time to check whether the application is ready to run.
To deploy it, switch to the J2EE perspective, select the “Server” view and right-click the “SAP Server” icon and select “Add and Remove Projects…”.
Now add your EAR project (“JmtsEAR”) by selecting it, pressing “Add >” and “Finish”:
6 The “ListProjectsE.jsp” does the lookup on its own, without use of the Helper class; it already uses the correct lookup string, too.
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 19
You will then be asked to enter your user and password for the deployment:
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 20
This should be the deployment’s result:
Now let’s run the application.
The URL should be something like http://localhost:50100/JmtsWeb/index.html. Change it according to your server, port and web project name (JmtsWeb, in this case).
This should be the result:
To give it a try, start by creating a Department and a Project.
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 21
Related Content
• The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
• Sample application used in this how-to guide
• Screen cam that shows how to work with the Migration-Plug-in
How-to Guide: The Migration Plug-in for SAP NetWeaver Composition Environment 7.1
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2007 SAP AG 22
Copyright
© Copyright 2007 SAP AG. All rights reserved.
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice.
Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors.
Microsoft, Windows, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation.
IBM, DB2, DB2 Universal Database, OS/2, Parallel Sysplex, MVS/ESA, AIX, S/390, AS/400, OS/390, OS/400, iSeries, pSeries, xSeries, zSeries, z/OS, AFP, Intelligent Miner, WebSphere, Netfinity, Tivoli, Informix, i5/OS, POWER, POWER5, OpenPower and PowerPC are trademarks or registered trademarks of IBM Corporation.
Adobe, the Adobe logo, Acrobat, PostScript, and Reader are either trademarks or registered trademarks of Adobe Systems Incorporated in the United States and/or other countries.
Oracle is a registered trademark of Oracle Corporation.
UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group.
Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc.
HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C®, World Wide Web Consortium, Massachusetts Institute of Technology.
Java is a registered trademark of Sun Microsystems, Inc.
JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape.
MaxDB is a trademark of MySQL AB, Sweden.
SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary.
These materials are subject to change without notice. These materials are provided by SAP AG and its affiliated companies ("SAP Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty.
These materials are provided “as is” without a warranty of any kind, either express or implied, including but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or non-infringement.
SAP shall not be liable for damages of any kind including without limitation direct, special, indirect, or consequential damages that may result from the use of these materials.
SAP does not warrant the accuracy or completeness of the information, text, graphics, links or other items contained within these materials. SAP has no control over the information that you may access through the use of hot links contained in these materials and does not endorse your use of third party web pages nor provide any warranty whatsoever relating to third party web pages.
Any software coding and/or code lines/strings (“Code”) included in this documentation are only examples and are not intended to be used in a productive system environment. The Code is only intended better explain and visualize the syntax and phrasing rules of certain coding. SAP does not warrant the correctness and completeness of the Code given herein, and SAP shall not be liable for errors or damages caused by the usage of the Code, except if such damages were caused by SAP intentionally or grossly negligent.
Subscribe to:
Posts (Atom)