Main Point: IBM is continuing to evolve and enhance the value that we bring to companies by building on the SOA announcements we made last fall…today we are going to talk to you about how a Business Centric Perspective to SOA is necessary to drive innovation that matters* As you know, SOA is one of IBM’s long term strategies to enable innovation that matters. IBM will continue to deliver SOA centric offerings. But we also want you to know that IBM’s view of SOA is business centric. and we’ll talk about this important concept. Further, we’ll discuss ways to get started through existing parts of your business (people process, information). Additionally, we’ll show how reuse and connectivity is critical to support the business centric approach. We’ll then give you detail on how the specific entry points are accelerated by SOA Foundation products and the business insight these products provide. Lastly, we’ll discuss an important part of the story called SOA Governance to ensure we’re aligning the business with IT.
Last updated: 12/18/04 The business-driven development life cycle is iterative in nature. Each iteration combines a mix of analysis, design, construction and testing activities and results in a demonstrable form of the software that can be validated and refined by users. Producing multiple iterations reduces project risk by providing tangible checkpoints along the pathway to a complete solution. A typical iteration includes the following steps. Model the Business Process IBM solutions enable you to capture current business activities and workflows and simulate alternative scenarios to determine the best opportunities for business transformation. Analyze Requirements Once a solution has been identified, the next step is to define its supporting business and IT requirements. IBM solutions help you generate a financial analysis for your proposed solution and document both its business and technology requirements. By modeling user interactions using the industry-standard UML, your team will share a common and precise understanding of proposed changes. Design and Construct The next step is to translate requirements into technology solutions. Because no single tool fits all team needs, IBM offers the broadest spectrum of code-based, model-driven and rapid application development solutions for developing high-quality software. You choose the toolset optimized for your technology environment, skill level and development paradigm. Test Each iteration is validated to ensure that it functions as designed with acceptable performance. IBM testing tools accelerate quality assurance activities as they build a valuable foundation of reusable test artifacts. Deploy IBM deployment tools support a managed approach to planning and executing migrations to your production environment. Automated provisioning and configuration management capabilities ease the implementation of coordinated changes to business processes and IT systems. Manage Once deployed, IBM monitoring tools monitor applications and essential system resources across your multiplatform environment to detect potential problems and automate recovery from critical situations. A closed-loop development cycle provides developers, operations managers and network engineers with a consistent set of correlated data to pinpoint application problems and facilitate their rapid repair and redeployment. Optimize Successful organizations not only automate business processes, but also monitor their execution and dynamically adjust them in response to real-time feedback. A performance-based feedback cycle allows you to compare the projected value of an investment to actual business results and make the necessary adjustments to maximize business value.
Files and folders are just like files and directories in the file system. A folder contains other folders or files. A file contains an arbitrary sequence of bytes. Its content is not interpreted by the platform. eclipse.exe can only link to one workspace at a time. Several instances of IBM Rational Application Developer can be running simultaneously (depending on memory). The resources associated with a project do not have to be located with the workspace. In the example, the Web project called MyBankWeb has been saved to the location c:Bank Project. When Rational Application Developer launches, a dialog asks you to specify the workspace location. If you give the name of a workspace that does not exist, it will be created. (Note that you can disable this dialog by clearing a check box. You can re-enable it through Window > Preferences > General > Startup and Shutdown ).
Files and folders are just like files and directories in the file system. A folder contains other folders or files. A file contains an arbitrary sequence of bytes. Its content is not interpreted by the platform. eclipse.exe can only link to one workspace at a time. Several instances of Rational Application Developer can be running simultaneously (depending on memory). The resources associated with a project do not have to be located with the workspace. In the example, the Web project called MyBankWeb has been saved to the location c:Bank Project. When Rational Application Developer launches, a dialog asks you to specify the workspace location. If you give the name of a workspace that does not exist, it will be created. (Note that you can disable this dialog by clearing a check box. You can re-enable it through Window > Preferences > General > Startup and Shutdown ).
The welcome page offers the following resources on the Rational Software Development Platform (supporting Rational Software Architect and Rational Application Developer for WebSphere): Overview: A video tour of the development platform and descriptions of how to use the platform for different types of development. What’s New: Descriptions of what new features have been added in the current version. Tutorials: A large gallery of tutorials of three types: “Watch and Learn,” “Play and Learn,” and “Do and Learn.” Samples: Three types of code samples: simple application samples, applications based on specific technologies, and large and extensive showcase samples. First Steps: Instructions for getting started with various project types. Web Resources: A wide variety of IBM Rational brand Web resources. The welcome page appears when you first open Application Developer, and it can be opened as a view in the tool so that you can access these resources during development.
The workbench is an Integrated Development Environment (IDE). In order to do useful work, it must link to a workspace and the collection of resources that you want to work with.
Present this slide and the following slides leading up to the demonstration slide. In the Rational Application Developer, you can open multiple perspectives. For example, if you are developing a J2EE enterprise application, you would probably use the J2EE, Java, Web, Test, and Debug perspectives. The default perspective always shows up on the Window > Open Perspective menu. The Resource perspective is the predefined default perspective. To change the default perspective: 1. On the Window menu, click Preferences . 2. Expand the Workbench category on the left and select Perspectives . The Perspectives preferences page opens. Select the perspective that you want to define as the default and click Make Default . The default indicator moves to the perspective that you selected. Click OK .
Customizing a perspective also involves moving, resizing, opening, and closing views.
If a “>>#” (#s such as 1,2,3,4,etc.) appears to the right of the stacked views, this shows that there are more views open but not visible. A view may have its own menu items. The servers view, for example, has icons for starting and stopping the server, and for publishing resources. Double-clicking a resource in a view will open it in the edit area, if there is an editor available for that resource.
Demonstrate for students what capabilities are enabled when the Java perspective is opened: Project Explorer, console, and tabbed panes for problems, tasks, properties, servers. Use the Java perspective to work with Java projects. It contains the Java editor and the following default views: Package Explorer: Shows the Java element hierarchy of the Java projects in your workbench. Hierarchy: Shows views of the Java type hierarchy in three different presentations. Outline : Displays a profile of the open structured file and lists structural elements. Search : Shows the results of a search. Console : Displays output from running applications and allows running application to read keyboard input. Tasks: Shows problems, errors, or warnings created when working with resources. You can create tasks to add to the view or create filters to limit the display in the view.
Use the J2EE perspective to work with J2EE projects and other resources. It uses the outline and task views and the following default views: Project navigator: Shows the project resources available in the workspace. J2EE hierarchy: Shows a hierarchical view of the content models that includes deployment descriptor trees for J2EE applications and modules. You can navigate to editors for components objects and to links for EJB and RDB mapping. You can also configure application to run on a J2EE application server. Properties view: Shows a tabular view of the properties and associated values of objects in files open in an editor. Status bar: describes the location of selected objects in the J2EE Hierarchy and Project Navigator views. Shows file and deployment descriptors when they are open. Shows the read-only state of the files and the line and column numbers. Servers view: Shows the created server instances. You can start and stop each server from this view, and you can launch the Universal Test Client. Describe the default views opened with the J2EE perspective.
Views can be dragged to show singly, or stacked with other views. The cursor will change to show where you can drop a view.
Fast views work like other views, except that they do not take up space in your Workbench window.
In any given perspective there is one editor area. The area can contain multiple editors. The rectangles to the right of each editor have the following significance: Blue : There is an auto-generated TODO message. Yellow : There is a problem with the location of some attribute (invalid tag location, for example). Red : Syntax error. This will be reflected in the Problems view. Hovering over each type of indicator will show you a pop-up that indicates the nature of the problem.
Discuss how developers use capabilities and preferences dialogs to customize the environment. Consider demonstrating the capabilities and preferences selections. Capabilities are a set of product features and tools aimed at supporting a specific task or that work with a specific resource. Capabilities are defined within the context of a perspective. Preferences are user-defined key/value pairs for setting environment variables, such as the display of tool content assistant help and code generation.
The idea of Capabilities is to prevent your workspace from being cluttered with tools unrelated to your development tasks. They are built around the idea of roles in a development team (business analyst, architect, developer, tester, and deployment manager, and others). The default setup does not enable a large proportion of the capabilities, such as team support for CVS (Concurrent Versions System) and IBM® Rational® ClearCase®, Web Services development or XML Development. You do not need to manually enable capabilities; you can enable them as you use the tools by 1. Selecting the Show all check boxes that display in various wizards and 2. Selecting an option that was previously hidden, 3. At this time, you will be prompted whether you want to enable the related capability. However it may be more convenient to enable all the required capabilities before you begin working, so that all the relevant tools and menu items are readily available when you need them.
Briefly demonstrate the preferences dialog and ask for questions. The Java and J2EE perspectives will be covered in detail later in the module. <suggested break, if schedule allows, following this slide> Preferences allow you to set default behavior for functionality in Application Developer. You use the Preferences window to select workbench resources needed for your development tasks. To set preferences, on the Window menu, click Preferences , expand the node, and set the preferences. To set preferences for the: • Java Perspective, expand the Java node In the Java preferences node, you can specify build path variables, code style, and JUnit settings. • J2EE Perspective, expand the J2EE node In the J2EE preferences node, you can specify the J2EE specification version to use and incremental deployment. • Web and XML preferences node, you can specify templates to use with JSP files and XML plugins to use in your project.
You create a project in your workspace. Each project is associated with a project root with all of the project's folders and files residing under the project root. Projects map to directories and files. When the project is open, you can change the structure and contents of the project. The following list is a brief introduction to the projects commonly used in Java and J2EE application development: Java: Contains source code and related files for building a Java program. Enterprise Application: Contains a set of references to other J2EE modules and Java™ projects that are combined to compose an EAR file. Application Client: Contains the resources needed for application client modules. Web: Holds the Web resources you use when developing a Web application. EJB: Organizes the resources contained in an EJB module and to assemble one or more enterprise beans into a single deployable unit. Connector: Holds the resources for creating a J2EE connector to provide connectivity to an Enterprise Information System (EIS). If your class includes students unfamiliar with projects – as defined in Rational Application Developer – spend some time reviewing the definition of a project and the composition of projects. Discuss different kinds of projects: Application Client, Connector, Enterprise Application, and so on.
Confirm Project Delete allows you to determine whether to delete the modules from the contents of the workspace (the stored files). If no , the project will be deleted from the workbench but not from the workspace directory (they can be added back in to the workbench later). If yes , the project will be removed entirely (the information is lost). Modules that are referenced in the EAR deployment descriptor will not be deleted.
Open the New Project wizard from File > New > Project . Alternatively, in many cases right-clicking a project type in the Project Explorer and selecting New > Project Type will take you straight to the second page of the wizard. Note that the Show All Wizards button is available. The list in the left image is not complete, because several capabilities have not been set yet. Those wizards are therefore hidden unless you explicitly select the box. Give the project name. The default location is the workspace. The dialog also allows you to specify the target server. You can add modules here to the EAR project, or wait and add them at a later time.
Typically, you will not need to add folders to a project because Rational Application Developer will generate them automatically with the project, or when you add some resource to the project (for example, support for Struts in a Web project). “ Appropriate” in this slide is defined as “according to Java™ 2 Platform, Enterprise Edition (J2EE) specification”.
Local file history is maintained when you create or modify a file. This allows you to compare your current file state to a previous state, or replace the file with a previous state. Each state in the local history is identified by the date and time that the file was saved. Local history is kept as a series of folders in <workspace>.metadata.pluginsorg.eclipse.core.resources.history.
The code as it stands in the workbench at the moment. The code as it is stored in local history. Differences are shown On a gray background By a connector between the left and right panes
Comparing different files only makes sense if the files are very similar. In this image, two error JSPs are compared. The title is different, as is the block starting <h2>. It is possible to merge changes from one file to the other. There are four types of merge, as shown with the numbered icons in the figure: Copy All from Left to Right Copy All from Right to Left Copy Current Change from Left to Right Copy Current Change from Right to Left. The last two icons (5 and 6) allow you to navigate between the differences.
Briefly discuss importing and exporting projects. Students will have a chance to try importing projects during the lab. Cover this topic quickly and tell the students that they will have an opportunity to import files in the lab. You can import existing projects into your workspace using the Project Interchange feature of the Import Wizard. 1. Select File > Import . The Import wizard opens. 2. Select Project Interchange and click Next. 3. Click Browse to select the zip file that represents the project(s) to be imported. 4. Select the projects to be imported. 5. Click Finish to start the import. Note : Depending on the size and complexity of the import, it may take several minutes for the content to be imported. To export projects and share projects use the Project Interchange feature of the Export Wizard. The wizard exports the selected projects, project structure, and metadata to the specified ZIP file. 1. Select File > Export . 2. Select Project Interchange and click Next. 3. Select the projects that you want to export: Click Select All to select all projects in the window. Click Deselect All to clear all the check boxes. 4. Click Select Referenced to automatically select all projects that are required by any selected projects. 5. In the To zip file field, enter the full path, including the ZIP file name, where you want to export the selected projects. 6. Click Finish .
Review Help resources and ask for questions. You can access additional information about using the Application Developer from the Help menu. Cheat sheets: Use Cheat sheets to navigate through a lengthy sequence of tasks. Code samples: Import a code sample into your workspace by selecting it from the Samples Gallery. Tips and tricks: Find topics specifically aimed at helping you use the Application Developer, Eclipse, and Java. They are also available in the Reference section of some help books listed in the Help Table of Contents. Tutorials gallery: Find tutorials about a variety of topics related to software application development. Note : To access the tutorials gallery, select Help > Tutorials Gallery from the main menu.
The help resources built in to Rational Application Developer environment include: Tips and tricks: A list of tips for advanced users. Cheat sheets: Step-by-step instructions for common tasks in Software Architect. Opens a Cheat Sheets view in the Modeling perspective. Samples galleries: A wide range of sample applications featuring different technologies. From the Help Contents, you can find: Overview: Presents a series of animated tours of Software Architect, including presentations on modeling, developing code, best practices, and the Software Architect environment. First Steps: Provides step-by-step guidance for building an application with Software Architect. Tutorials: Provides in-depth instructions on various topics in three modes: Watch and learn: Provides feature demonstrations. Play and learn: Provides interactive feature simulations. Do and learn: Provides hands-on instructions for learning to do various tasks in Software Architect. Samples: Provides a gallery of UML models, patterns, scripts, and transforms you can use as the basis for your own projects and resources. Online Help: Along with the online help, the Help menu in Software Architect contains a “tips and tricks” collection and a collection of reference “cheat sheets.” We should also mention cheat sheets from the Help menu. This may require an additional slide. You might mention in particular the RUP developer resources (slides on these resources are coming up), cheat sheets, and samples galleries, which are all very useful features. Note that the difference between these resources and Welcome page resources is that these resources are for the underlying development platform where the Welcome page is made for Application Developer specifically.
Search results are listed with a percentage value, according to how relevant Rational Application Developer thinks the topic is to the search criterion. Every occurrence of the words entered in the search field is highlighted in the right pane. 1. By selecting the Show in table of contents icon, the tab changes to the Contents view and the category opens to the page selected by the search result.
Cheat sheets are special views that help guide you through a series of complex tasks to achieve an overall goal. For example, a cheat sheet could be used to help guide you through all the steps needed to create, compile, and run a simple Java program. The cheat sheet opens as a view. At any time, only one cheat sheet is open and active.
Notes : Write down your answers here: Instructor notes : Purpose — Details — Additional information — Transition statement —
RUP Rational Unified Process, Developer Tab , Designer > Concepts > J2EE to RUP Mapping Rational Unified Process, Developer Tab , Designer > Enterprise JavaBean (EJB) Design > Guideline s > Designing Enterprise JavaBeans (EJBs) Web Resources http://www-130.ibm.com/developerworks/ http://w3.ams1.ibm.com/services/ams/competency/ams/tools_support/rational/learn_about/ams_rational_advanced_learning.html EJB Best Practices: Entity Bean Protection: http://www-106.ibm.com/developerworks/java/library/j-ejb1008.html Literature Enterprise Java Programming with IBM® WebSphere®, Second Edition By Kyle Brown, Gary Craig, Greg Hester, Russell Stinehour, W. David Pitt, Mark Weitzel, Jim Amsden, Peter M. Jakab, Daniel Berg Additional Courses Introduction to Web Services - http://w3-3.ibm.com/education/CourseDescriptionServlet.wss?city=&state=&countrycode=&coursecode=XM371&courseDescrLanguageId=1 WebSphere Training and Technical enablement: http://www-128.ibm.com/developerworks/websphere/education/enablement/curriculum/cur_webtoolside.html Review resources with students and answer questions.
Vikas Manoria IT Specialist – IBM Academic Initiative [email_address] Section -1) Workbench Basics
Use the Help feature to aid in development activities
Use the Local History to compare and replace resources
Business Driven Development Model the Business Define Requirements Design Construction Deploy Manage Optimize Executive Project Manager Business Development Operations Manage change & assets Prioritize Plan Manage Measure Optimize Iterate Govern SW Quality & Testing Application Support Architect Tester Deployment Manager Developer End User Operations Manager Analyst