Everyday over 50,000 airplanes are guided safely through the air. The new air traffic control teams are becoming digitally savvy using more high tech software and tools to do their job more efficiently for the safety of all of us.
The air traffic control team works much like a software development team, where there are many defined roles, all very important to complete the mission.
For example, different types of air flight controllers take control of the flight throughout the planes journey to it's destination, from departure gate to arrival gate. (Think of the plane as an application) It is a very complex process just like the software development process.
Clearing each flight from the gate to the runway involves several steps and teams of people working together. The pilot calls for clearance and will receive clearance from the ground controller, who will take the pilot to the appropriate runway and will put the plane in line for take off. The ground controller will also manage any factors affecting the flight such as weather.
The local controller will take the aircraft and issue the "take off clearance", to get the pilot airborne. Once the aircraft is airborne, the tower control contacts departure control and the flight is handed off to Tracon, who's job it is to get the plane through all the other aircraft in the area, track the plane to it's flight cruising altitude, and onto it's destination. Then a regional air route center then takes control.
Oh by the way, there are project manager types managing all this. Sound familiar?
IBM Software tools serve as an air traffic control system for IT. Development teams like air traffic controllers need to use the most up to date efficient tools and team tools to provide security and safety. We all need to create a smarter planet in everything we do. As software developers there are some awesome development tools available to help us create this smarter planet through software. We need to work efficiently and smarter in our global software development teams, as we hand code over from one team to the other. The key thing is communication, just like the flight controllers. Using development tools that help us communicate to our team members better, will help us develop better quality software in less time.
Check out these demos on how teams can use development tools to improve the communication through the development process:Change management with IBM Rational ClearQuest and ClearCase, Part 1
This demo shows you how to integrate IBM® Rational® ClearQuest® and ClearCase® into a integrated change management solution. The deployed Web banking application is tested for defects. Once the test manager discovers the defect, the manager walks through the submission process. The defect is reviewed and assigned to a developer (Alex in the demo) by the project manager. Once the defect is assigned to the developer, he works to resolve the defect utilizing IBM Rational Application Developer, ClearQuest, and ClearCase. This is the first of a two part demo series. Demo
Change management with IBM Rational ClearQuest and ClearCase, Part 2
This demo continues where part 1 left off. It follows the developer (Alex) as he works on resolving the defect submitted to him. Alex uses IBM Rational Application Developer with plug-ins for ClearQuest and ClearCase. First, you'll see Alex's to-do list that contains submitted high severity defects assigned to him. Next, Alex connects to the ClearCase server and changes the code to correct the defect. Then Alex verifies his changes by running the application within his IDE. Finally, Alex checks in his changes and transition the state of the defect from open to resolved using ClearQuest. This is the second of a two part demo series. Demo
"Fly by the seat of your pants" is an early aviation term when aircraft had few navigation aids and flying was accomplished by means of the pilot's judgment.
The term emerged in the 1930s and was first widely used in reports of Douglas Corrigan's flight from the USA to Ireland in 1938.
That flight was reported in many US newspapers of the day 'Corrigan Flies By The Seat Of His Pants',
We all know that we can't fly by the seat of our pants in software development. There are so many tools today that help us make smarter software faster.
From use case development all the way to modeling, solution analysis, design activities and project management. And thank goodness that aircraft
now have the navigation tools to fly more safely.
Check out these tools to help develop software smarter!
This demo shows how to transform an IBM® Rational® Requirements Composer project into a model in IBM Rational Software Architect or IBM Rational
Software Modeler.See how use cases and process flow requirements captured in IBM Rational Requirements Composer can be used as a basis for your
solution analysis and design activities within Rational Software Architect or Rational Software Modeler.
Rational Solution for Android Mobile Application Development
Caffeine alone won't get your Android applications to market faster. You need to arm your developers with the right tools. Android applications can be easily developed in a collaborative model and test driven environment. See how IBM Rational can automate collaboration, team coordination, change management and status visibility with IBM Rational Team Concert while you visually design, develop, and debug an Android applications with IBM Rational Rhapsody.
It is all part of creating software with smart tools!
As a software development team, what is your challenge? My experience is that development teams need to have a structured approach to application development. A software development team has to develop applications for multiple projects, often running on multiple platforms. The applications must, of course, be of the highest quality and use industry standards and best practices.
Some key discussion points that development teams must be concerned with are:
- Building scalable applications and services
- Reducing rework and defects
- Improving quality and performance
- Matching application complexity to team skills
- Coordination and planning
These are not easy things to manage. IBM Rational Application Developer (RAD) is the product that addresses the structured application development challenge. RAD provides tools for developing J2EE, portal, Web services, and SOA applications.
It, is built on Eclipse, so it can be extended to meet your needs. It has many visual design and development tools for greater productivity, including UML visual modeling tools, that let you use UML notation to create code.
RAD provides a host of tools for developing and consuming Web services, building components for use in a service-oriented architecture and building web 2.0 applications. It also provides runtime environments on both WebSphere Application Server and WebSphere Portal server for development and testing. It can also be used to develop applications running in other runtime environments, such as Tomcat, Geronimo, and others.
RAD comes with a host of visual tools for designing Web sites and Web pages. It provides extensive tooling and support for building JSF applications. It also provides tools to create and use Service Data Objects (SDOs) to access various data sources and to bind SDOs to UI components.
So if you want to be a RAD software development team, you may want to check out Rational Application Developer. It is all part of creating a smarter planet through software and that starts with smart software development tools.
Here is a demo you should check out:
This demo highlights the enhanced Web 2.0, rich Internet application development features in Rational® Application Developer for WebSphere® Software V7.5. Learn how to build a simple AJAX application that displays data from a database using Java™ Persistence API (JPA). See how easy it is to create a responsive Web user interface using Rational Application Developer features such as code generation, wizards and integrated test servers to develop applications faster than ever before.
It is all part of creating a smarter planet through software
Some 65% of software projects fail to meet their stated objectives on time and on budget, driving $300 billion (USD) in unanticipated costs.
That is shocking, isn't it? Today’s solution delivery challenge is building better software, faster, despite ever-changing business goals
IBM Rational Software Architecture (RSA) really helps you innovate, collaborate and accelerate delivery within your enterprise. In a tight economy or even a great economy, these are not luxuries. These are necessities that give you a competitive edge and help you meet your development objectives.
Where RSA differentiates itself is collaboration. RSA is built on Jazz and this collaborative platform ties into your software delivery project. Unlike other software, where your models often become pictures of what is ‘thought’ to be implemented. RSA is integrated into the software delivery lifecycle, so your models can evolve with implementations and as new design details are identified, they can be communicated to stakeholders in real time. Designs can also be used to jumpstart development with "out of the box" transformations such as JEE5 from UML, unlike other abstractions, which are merely pictures that become obsolete quickly. With RSA your delivered code will match the design specifications. This means, you will not have ‘rushes’ to produce documentation for compliance audits and maintenance and enhancement of your applications will take an average of half the time and half the cost.
Many questions that come up in project status meetings are: what is the impact a requirement change has on the code? On the project deadline? On the project budget? If a ‘minor’ change is requested, for example, instead of 1000 simultaneous log-ons it should be 10000 or a minor process change due to newly announced regulations, what impact does it have on the project? Can these changes be accommodated? What does it mean to the status of the project?
RSA Integrates all aspects of software delivery lifecycle giving you a window into all of the surrounding software development phases – really linking design to all those phases. With views into requirements, your business processes, your change management and version control process – you truly do have a comprehensive integrated platform that is aligned to business goals, with an infrastructure for impact analysis.
Here is a list of benefits:
Abstraction (DSL, Deployment): Makes solving problems quicker, and easier
- Bridge the Business-IT Gap with business and architectural models and SOA
- Leverage your heterogeneous environments targeting a mix of Java/JEE/WebSphere/C++/C#/Microsoft .NET and other technologies
- Better team collaboration leveraging the power of abstraction and the power of the Jazz platform integrated with Rational Team Concert
- Mitigate risks, reduce costs, and improve outcomes by leveraging the techniques of abstraction-based communication, traceability, impact analysis
- Manage evolution of, and adherence to, design contracts as development is carried out by geographically and/or organizationally distributed teams
Automation: lets you focus creative solution not repetitive tasks … automate mundane, repetitive tasks
- Eliminate the mechanical and mundane, and focus on the creative.
- Achieve high returns on investment by automating development with abstractions, patterns, and transformations that are tailored to your specific domains and architectures.
- DSL services and tools to help define a custom environment for just enough modeling (tailored, simplified, adaptable) for the business.
Simplification: reuse, don’t start from a blank slate
RSA also has collaborative development asset sharing with Rational Asset Manager, live debug sharing with Rational Team Concert and SOA architectural freedom with WebSphere Business Modeler and WebSphere Integration Developer. It is important that tools integrate and talk to each other.This is all part of working smarter through collaboration and accelerate delivery. In other words, creating software with smart integrated tools to develop software faster and at a lower cost.
Don't let your development project fall into the 65% of software projects that fail to meet their stated objectives on time and on budget.
It is all part of creating a smarter planet through software.
And now for the demo!
This week I'll be talking about RAD and the runtime analysis feature, the debug tool and reverse transformations.
Within RAD, the runtime analysis feature allows you to view the actual execution of the code, which may be different from the intended behavior. With profiling, you can analyze performance, method execution sequences, thread behaviors and code coverage. With the Runtime Analysis feature, you can do:
- Performance Analysis: users can collect method level performance data and view it through statistical views or via the performance call graph
- Memory Leak Analysis: users can find memory leaks within their Java code. The leaks can be viewed using the Object Reference Graph to better explore relationships of the object to other objects.
- Line Level Code Coverage: shows what code has been executed down to the line level.
- Thread Analysis: within a view, thread-view of the behavior code is shown.
All runtime analysis instrumentation is specified via profile configurations (done through a wizard).
RAD provides a comprehensive debug tool. It is a Java and mixed language debugger - Seamless integration when debugging application that calls other languages from Java and vice versa.
It provides Advanced debug support for Websphere Application Server, including EJBs, JSP pages, and servlets. It controls debugging at a higher level and provides the user the ability to stop on entry to every object loaded by the JVM or server. The XSLT debugger enables you to detect and diagnose errors in XSLT Transformations and it displays variables in a logical manner, allowing the user to examine variables more easily.
In addition, RAD provides reverse transformations. It allows teams to work on both the design and the implementation and to reconcile any differences between the two. So for example,let’s say we have an architecture team and an implementation team that are divided, either by geography or because one team is subcontracting to the other, or even by corporate culture. The architecture team completes its version 1.0 of the system, and transforms the model to code.
The implementation team picks up the code and begins to work. The architecture team continues to work on the design, and after some time creates a v1.1 of the architecture. This architecture is forward transformed and integrated with the work done by the implementation team.
So far, so good?
Now, the implementation team introduces a significant deviation from the architecture developed by the architecture team. Here is where the reverse transformation or code-to-model transformation can be used. The implementation team performs the code-to-model transform. The architecture team can then compare/merge this model with the architecture model they are working with. Some changes could be accepted and others could be rejected. Once the reconciliation has occurred, a code-to-model transformation could be performed to conform the implementation with the newest architecture.
When the architectural deviation is introduced, a dialogue would need to take place between the architecture and implementation teams so that both teams could better understand why the deviation was introduced. The forward transformation that occurs after the reconciliation probably would not delete code elements if those code elements were not the product of forward transformation in the first place. The deletion of the code elements would often be done manually.
In summary, IBM Rational Application Developer provides:
Web application development
J2EE application development
Rich Client development
Web Services development
Visual application development
Portal and Portlet application development
Code quality tools
Software development process guidance
and now for the demo..............
Collaborative debugging with Rational Application Developer V7.5, Part 2
This demo shows a transfer scenario involving a Web application deployed on an IBM® Websphere® Application Server. It takes a look at parking debug sessions and how to transfer debug sessions through Sametime.
It is all about smart software development tools to help create a smarter planet.
Software development needs to be smart. Development tool integration is key to smart software development. Let's talk about Rational® Requirements Composer, which is a suite of requirements definition and business prototyping tools. Its graphical editors enable you to quickly develop requirements, construct use cases, build glossaries, create business processes and design user interface sketches and storyboards.
When you define requirements with IBM®Rational Requirements Composer, you can elicit, capture, elaborate, discuss, and review requirements using a variety of requirements definition techniques and collaboration capabilities. Rational Requirements Composer integrates with IBM Rational RequisitePro®, IBM Rational DOORS, and the Jazz-based products IBM Rational Team Concert™ and IBM Rational Quality Manager. Rational Requirements Composer also integrates with IBM Rational Software Architect and other Rational Software Delivery Platform products. Could a development team ask for anything more? Integration and communication is key to a smart development environment, which reduces risks and costs, by increasing team communication within the team tool set.
See the new capabilities in IBM® Rational® Requirements Composer, which expands this application from requirements definition to requirements management. This demo shows you reporting, the Web interface, Web review and approval, collections and snapshots, and collaborative application lifecycle management.
It is all part of creating a smarter planet, beginning with software development!
IBM® Rational® Rhapsody® Architect for Software provides software development environment for real time and embedded software development based on a UML/SysML.
Embedded software developers can leverage an integrated software development environment for C, C++, Java or C# code that helps improve application consistency through UML based modeling to visualize and document the design of embedded and real time applications.
* Visualize architecture and design with industry standard UML or SysML
* Generate C, C++, Java or C# code frames
* Reverse engineer C, C++, Java or C# code for visualization and documentation
* Integration within Eclipse development environment for integrated code, model and debugging
* Maintain consistency of architecture, design, code and documentation automatically
* Author AUTOSAR 4.0 compliant automotive applications
* Leverage MARTE profile for architecting multi core applications
* Trace requirements to design to deliver the right product to market
* Collaborate using model-based differencing and merging features, including an integration with
the Jazz- based IBM® Rational® Team Concert solution
* Rational Rhapsody Architect for Software 7.5.3 adds support for Rational Rhapsody
TestConductor Add On to apply testing to code visualizedCheck out the demo
This demonstration shows how to develop embedded software using the Rational Rhapsody Architect for Software development environment. The Rational Rhapsody development environment enables developers to visually capture their applications to automate manual coding tasks and communicate their designs. Learn how to import existing C++ code and synchronize it with a UML model, automatically create diagrams to understand the relationships in the code, and then document the design for external reports.
The workflow integration with Eclipse is illustrated by using Rational Rhapsody Architect for Software to turn the code into a simple 'ping pong' console game. It illustrates how, using code centric settings, dynamic synchronization with the code can be achieved, enabling the user to make updates in either the model or the code while still preserving the existing layout and structure. This enables developers to more easily adopt modeling on existing code projects or where preservation of code layout is critical to success.
It's all part of creating a smarter planet and working more efficiently!
The IBM Software Development Kit for Linux on POWER (SDK) is a free, Eclipse-based Integrated Development Environment (IDE). The SDK integrates C/C++ source development with the Advance Toolchain, Post-Link Optimization, and classic Linux performance analysis tools, including OProfile and Valgrind. The IBM SDK for Linux on POWER provides you with an all-in-one solution for developing software on Linux on POWER platforms.
This demo shows you how to access the SDK using a technique called X-Forwarding, which allows you to integrate the SDK interface to an interface running on your Linux desktop. It also shows you how to create a virtual desktop session on the POWER server and connect to it using either Linux or Microsoft® Windows® clients.
It's all part of creating a smarter planet!
There are fundamental tools and solutions that are needed throughout the develpment lifecycle:
Helping you capture, analyze, and manage requirements from conception to end of life.
Allowing you to visually develop complex systems using a structured approach across all
Collaboration & Change Management:
Enabling Synchronization of changes across mechanical, electronic and software
disciplines and throughout the supply chain.
And finally Quality Management:
Helping you Deliver enduring quality with improved efficiency using a lifecycle
approach to quality management
Check out this demo that provides a solution for systems and software engineering.
See a demonstration of IBM's Rational solution for systems and software engineering. Using Rational DOORS, Rational Team Concert, Rational Rhapsody and Rational Quality Manager, you can reduce the time, cost and risk of developing profitable products and systems. Learn what core strengths and capabilities this Rational solution provides.
It's all part of creating a Smarter Planet!
Based on the Jazz platform, IBM Rational Team Concert provides a lean collaborative lifecycle management solution with agile and formal planning, project reporting, process workflow, work item management, source code management and build management, in a single integrated product supporting all popular platforms. Combine that with IBM® Rational® DOORS® Change Management integration feature and The IBM® Rational® Rhapsody® model-driven development environment creating real-time or embedded systems and software, then you have a full orchestra.
Check out this demo that provides a short introduction on using IBM®Rational® Team Concert for complex systems and software development. It takes you through a scenario that uses several IBM Rational products to show how process controls can be enacted through rule based process guidance. The demo starts in the Rational DOORS requirements database where integration is used with Rational Team Concert to create an implementation request for some work to be performed in an IBM Rational Rhapsody model. It then steps through a work flow using the features of Rational Team Concert to manage both the changes to the model and a formal review process enacted on the project.
It's all part of creating a smarter planet through software development!
Nearly all teams face challenges in getting their clients and other stakeholders involved enough in the requirements stage, of the development process. Especially when defining the outcomes and the details of what it will take to realize those outcomes. Rational Requirements Composer (RRC) is designed to provide a solution for the creation and composition of meaningful requirements, based on user and stakeholder needs.
IBM Rational Requirements Composer can help extended teams understand requirements faster by Using the best notation or sets of notations to communicate client and stakeholder needs by making the latest information available to the whole team, which will help shorten the review and approval cycles.
Teams can save valuable development time by using the web-based review and approval workflow. For example, the ability to have role based (reviewer, approver, optional reviewer) participants, will greatly enhance the ability to help everyone understand their role and what they need to accomplish.
With role base team members, status of both formal and informal reviews are visible to the entire team and automatic notifications help to keep participants engaged and informed. There is no need to maintain a separate record system of the approval process (but if you have one, you can still use it for final approvals).
Without a proper requirements management tool, many tools, document formats and repositories create “information islands”, making it hard to find, relate and use this information as requirements artifacts as well as use use it to inform downstream lifecycle activities. This old fashion system makes it hard to relate the requirements together, to keep the project coherent, and maintain team relationships.
Team members undertake heroic measures to consolidate, understand, monitor status, and make decisions based on this information. These manual processes often don’t scale and introduce errors.
Rational Requirements Composer enables you to use these documents together with RRC native artifacts. It can relate them to one another with links, apply attributes, include them in collections, manage review and approval status, and maintain every revision on the server. You can copy and paste Word and Excel tables into RRC in an intelligent manner and mark requirements in Word, to create individual requirements managed in the RRC database.
And now for the Demo!
Align business with Rational Requirements Composer and Rational Team Concert
Learn how the integration between IBM® Rational® Requirements Composer and Rational Team Concert highlights the capabilities that ensure project deliverables stay aligned to current business goals and requirements. Specifically, see examples of how to create a link from a requirement in a vision document artifact in Rational Requirements Composer to the work item stored in Rational Team Concert. Then see how to use filters to query across all the products on the Jazz platform. These capabilities help reduce project risk, reduce rework, and increase productivity.
Are you having trouble managing your software assets? Well, your not alone. Many software development organizations do not have a central place to store their reusable, valuable assets. Therefore, they often store an asset as just another version of an artifact among the millions of other versioned artifacts in a software configuration management (SCM) system. Sometimes, the assets are stored on a Web server or on a wiki site. Even when companies provide a consistent place to store and search for these assets, the metadata that describes them is typically either inconsistent or nonexistent. Not having a consistent process to manage your assets makes it difficult to find, and reuse assets quickly. Rational Asset Manager ends the chaos and loss of productivity.
How does it work? Rational Asset Manager is a role-based repository for storing published assets, that have the potential for reuse. This repository can work with various hardware and operating system platforms and offers two types of interface: Web and Eclipse clients. These interfaces include tools that help you search, organize, and download assets. You can also communicate with other users, provide governance, and get statistics.
Rational Asset Manager also integrates with your development environment. Some of the tools it integrates with are Rational ClearQuest, Rational ClearCase, CVS, LDAP, Eclipse and more.
So if you need to organize your house of software assets, check out Rational Asset Manager.
And now for the Demo...
Well, you might be saying - "All this talk about creating a smarter planet through software is great, but let's see some real world examples".
I'm glad you asked. We recently published two demos that demonstrate software in the financial industry.
The first example demonstrates IBM WebSphere ILOG Business Rule Management System (BRMS) JRules. With BRMS JRules, developers can easily build and deploy rule-based applications that automate fine-grained, variable decisions used by business systems, while reducing the time, effort and cost of application development and ongoing maintenance. The short of it is that you can build, manage and run rule-based applications for Java, mainframe and SOA. This is important in industries like the financial industry.
The second example uses Cognos Now!. This product delivers operational dashboards for real-time monitoring of key performance indicators (KPIs) and operational metrics from disparate data sources. The great thing is that these dashboards can be created by non-technical people, even a "manager".
It is all about saving money and being productive faster and hence, creating a smarter planet through software!
The first demo describes IBM WebSphere ILOG Business Rule Management System (BRMS) capabilities and how they can be applied in the financial market front office. Using a fictitious company named Open Financials, the demo shows you how to use JRules to handle the routing of orders and routing of order exception processing.
IBM WebSphere ILOG Business Rule Management System applied in the financial industry DEMO
In the second demo see how Cognos® Now! can be used by financial markets firms in an algorithmic trading scenario. This scenario is part of a project called Botticelli, which is focused on positioning a suite of IBM middleware within the financial markets front office. The benefits to using Cognos Now! include the ability to rapidly deploy applications in a cost effective manner, with the easy to use, self-service user interface, and the flexible architecture.
Cognos Now! for the financial industry DEMO
Modeling lets you manage complexity and risk. Not all projects require models in order to be successful. The more complex a project is, the more you need models. Software is no different than every other kind of engineering in this respect. You probably don’t need to create a model before putting together a doghouse. It’s not very complex, and if the doghouse fails, i.e. falls apart, the consequences are not too dire – the dog stays in the big house. But, as we move up in complexity and look at building a family dwelling or even a high-rise office building, the need to model is more important, as these buildings are much more complex than a doghouse, and the consequences of these buildings failing are more serious.
There are many reasons to model…here are some of them.
- manage complexity
- detect errors and omissions early in the lifecycle
- communicate with stakeholders
- understand requirements
- drive implementation
- understand the impact of change
- ensure that resources are deployed efficiently
Communication is the biggest benefit of modeling.
The best models represent different viewpoints of the same system. This isn’t just nice to have, it’s a necessity. Different stakeholders in a system will be interested in different viewpoints. Creating good models that ensure all stakeholders understand what they need to understand about the system is critical to success.
You need to use modeling to control the application architecture and to use a tool that uses the common language of modeling, UML. The solution should provide a way for geographically distributed teams to access the models. You want a tool that provides transformation capabilities, to aid with model-driven development. And the solution should help you create and enforce the rules of your architecture, by providing guidance on the development process you are using. This allows you to visually compare changes to models, and linking requirements to the design you are creating.
The IBM Rational product that provides this solution is IBM Rational Software Modeler. IBM Rational Software Modeler (Software Modeler) supports UML notation. It has a simplified user interface which makes it quite easy to use. Software Modeler is built on Eclipse, so it is extensible and it integrates with other Eclipse development environments. And of course it integrates with other IBM Rational products.
And now for the demo...
Rational Requirements Composer with Rational Software Modeler integration
This demo shows how to transform an IBM® Rational® Requirements Composer project into a model in IBM Rational Software Architect or IBM Rational Software Modeler. See how use cases and process flow requirements captured in IBM Rational Requirements Composer can be used as a basis for your solution analysis and design activities within Rational Software Architect or Rational Software Modeler.
It's all part of creating a smarter planet through software!