Showing posts with label Mainframe RIA. Show all posts
Showing posts with label Mainframe RIA. Show all posts

Thursday, September 3, 2009

On Time Application Development Project Management: From RAD to RICH

On Time Application Development Project Management is achievable when you want RICH but need RAD.

Rich Internet Applications (RIA) for businesses represent a growing trend from software users wanting responsive and immersive interactions from any location. As business applications begin presenting information the same way as the social web – interactive and visual – and carry the same reach, IT departments must adapt. But what is the application development manager to do? How do you manage an application development project that threatens to become a multi-headed beast? At Magic Software, we say you cut off the extra heads. Afterall, who wants to have a conversation with a beast that has multiple heads?

uniPaaS is a multi-modal application platform.

We classify uniPaaS as a multi-modal application platform – one that supports several modes of deployment: RIA, client server, web, desktop, batch, etc. There is a debate raging over what constitutes a RIA application? The crux of the debate is over the meaning of RICH. I decided to introduce a mnemonic to contribute to the understanding of the meaning of RICH.

R – Real-time Interaction
I – Integrated Backend Systems
C – Complete Immersive Media Experience
H – Helpful and Intuitive Interfaces


So there it is, a Rich Internet Application must be capable of being a completelyimmersive media experience with real time interaction using helpful and intuitive interface but at the same time be integrated to backend (RIBA) meets all of the above criteria and has as its principle raison d’etre the conduct of business in one way or another.

A good Rich Internet Business Application platform should be ready for the Cloud but also capable of deployment on premise. It has to be connected to the reality of your business, a RIBA is not a frivolous game or mere advertisement, these are the domain of the single purpose RIA solutions that are oh-so limited in true business functionality and whose available programming techniques are relegated to the lowest of low level 3GL tedium and old school line-by-line coding? Who thinks that is modern?

To be truly agile in one’s RIBA development and deployment, the application platform needs to be changeable and customizable with little to no installation effort on the client side. With the efficiency elements of an application platform like uniPaaS, delivering on the promise of the distributed and mobile enterprise becomes a reality.
But before you can settle comfortably with a unitary approach to development where you trust a single application development and deployment environment to manage all dimensions of client, server, communication and other technical layers, you must be comfortable with that environment’s fundamental efficiency. With uniPaaS, common and repetitive development tasks are pre-programmed into the platform. As a result development cycle times are far less than expected.

Don't reinvent the alphabet.

You don’t reinvent the Alphabet each time you write a new book, so why should you reprogram basic routines for each change in platform technology or operating system revision? Why should basic application functionality, the kinds of things tha all programs must do, be a blank slate and a programming challenge each time? Too many individual developers are all too content to get paid to rewrite these programs. They are recreating the wheel for kicks. Who knows, maybe the next wheel they invent will be shinier than the last. But wouldn’t you rather just use a wheel off the shelf? That’s what uniPaaS delivers: off-the-shelf programming power.
When developers are consumed by the tedium of low-level programming for the vast variety of technology protocols in use today, then they simply are not focused on your business needs. uniPaaS pre-compiled engine contains every technological component needed to build your unique application via metadata driven specifications. This means your IT team has the Power of Choice to focus on the business logic in your applications rather than time-consuming and fragile technologies.

We don’t achieve that productivity by narrowing your choices and telling you which environments you have to run on. uniPaaS offers “the power of choice” in the breadth of its certified database and operating systems as well as other components of your infrastructure.

When evaluating the uniPaaS application platform, look for these high level efficiency drivers:

  • Task oriented
  • Event driven
  • Inheritance
  • Reusability (high level in your application and low level built into the application platform)
  • Pre-compiled functionality
  • Open environment
  • Internal debugger
  • Team ready.

    The development and implementation of new business applications is becoming increasingly complex and with the ordinary and usual suspects, requires increasingly varied skills and extensive multi-loop, multi-cycle testing, driving costs up. Yet, reduced IT budgets and fast moving business realities constrain cycle time putting a pressure to reduce innovation with traditional tools. A solution worth exploring is to move gradually to one of the new application platforms which promote application integration and composite application capabilities, and reduce the development challenge by encoding business functionality as metadata. Existing developers can quickly become familiar with such platforms thanks to their abstraction of technology, and platform vendors such as Magic Software and our partners can accelerate delivery and reduce uncertainty with skilled on-demand resources.

    Rapid Application Development Techniques: Prototyping, Incrementing, Timeboxing.

    With uniPaaS, it is easy to apply rapid application development methodologies. – uniPaaS supports Prototyping. By creating a prototype, you can create an early result as a “proof-of-concept” or as a mini-functional version of the desired application. When you are after a demonstrable result early, prototyping with uniPaaS is a great option. With feedback from the users to show that progress is on track, you gain confidence for subsequent efforts that flesh out the application in full. This allows you to work closely with your end users and incorporate desired changes not anticipated in the initial scope of the project through change orders. The advantage being that you get the change orders in early enough in the process to prevent huge amounts of rework. By prototyping at the right time in the project, you get feedback from users to the development team at the point where it can influence the shape of the application before it is too late and costly to rework what you have created or too early to really give the users a clear idea of where the application is headed.

    With uniPaaS, iteration is encouraged. You can develop incrementally and refine your application over time. Since there are no complex compile and link processes, it is easy to see results of programming efforts immediately and debug them using excellent internal debugging tools. You create a feedback loop between your prototypes and their various iterations that results in a well managed and on budget application development project.

    With this RAD approach, you can impose timeboxing on your development team. Timeboxing is an artificial constraint – a fixed period of time set aside to a particular phase, set of tasks or for the next iteration and prototype. With a timebox, you can change the scope, but you are setting an expectation that delivery will occur within that timebox despite the scope changes. The timebox is built with the expectation that there will be some change orders. When the firm boundary of the timebox is adhered to, application development project management on budget and on time is assured. So with uniPaaS, RAD development becomes reasonable and possible as opposed to just being an inconvenient theory. But introduce a deviated development approach to RAD methodology, by deviated, I mean separate languages for RIA clients and server side business applications, then you can throw RAD, agile, extreme and all sorts of other and efficiency oriented development paradigms out the window.


    For additional information, please download our FREE! White Paper! entitled "The 5 New Essentials of Building Business Applications."
  • Thursday, June 11, 2009

    Extending Mainframe Applications for RIA and Mobile

    Mainframe applications and Rich Internet Appliations (RIA) may seem like strange bedfellows. But enhancing and extending mainframe applications as Rich Internet Applications may be an important requirement for organizations seeking to modernize business applications in the Web 2.0 age.

    As younger workers used to social media and other Web 2.0 dynamics enter the workforce, pressure will increase on mainframe IT organizations to enhance and extend their applications in a manner that makes them look and act like Web 2.0 applications. Not to mention the demand for mobile access to the same core business functions.

    While uniPaaS is an ideal RIA development tool for Windows, Linux, UNIX and IBM i operating systems, the uniPaaS server itself does not run on the mainframe. In a post on my JD Edwards integration blog, I discussed Mainframe Integration Patterns that can be used with iBOLT. I represent the same discussion here, but in the context of creating uniPaaS RIA extensions for mainframe applications:

    When using the uniPaaS application platform to meet the needs of RIA and Windows Mobile users, it will be necessary to find the right point of access to the mainframe. Challenges to be considered in mainframe integration include fundamental differences between systems such as EBCDIC versus ASCII text character set encoding. Finding metadata information about file structures is also fundamentally different between mainframe and other systems. On the mainframe, most of the programming is performed in COBOL and data is defined and contained in the COBOL copybook. Often, the copybook is the only source of metadata as well. In addition, consideration must be given to whether processing on the mainframe occurs in online processes, batch processes or some combination.

    Extending a mainframe application by adding new RIA clients will cause the application architect to consider whether the application requires synchronous real-time, semi-synchronous near real-time or asynchronous batch methods.

    Mainframe database adapters. A database adapter connects directly to the mainframe database and polls for changes in the database or responds to database triggers. These adapters can normally read, write, erase and update data in the mainframe database as well as deliver the mainframe data via certain protocols. Database adapters are very powerful and low-level solutions but have the fairly significant disadvantage of requiring the integration architect to have extensive knowledge of the database structures used and the application processes. While reading from a database is less problematic, writing directly to a database is problematic and could even void vendor support obligations for off-the-shelf software.

    Mainframe ODBC adapters. Another approach is to use an ODBC driver, such as the one built-in to the SNA server or one of many available from third-party software vendors. The ODBC driver has the advantage of being more widely accessible by third-party software vendors, but in the end has the same fundamental limitations or risks associated with direct database adapters or access.

    FTP. File Transfer Protocol (FTP) uses TCP/IP and provides a way to transmit files between diverse systems including mainframes, Linux systems, IBM i, UNIX systems and Windows servers. On IBM mainframes, the z/OS operating system includes capabilities for both get and put commands to transfer files. Serious limitations exist for FTP based integration, however: 1) The amount of parsing required to get to the relevant data is often extensive. 2) Security exposures are not trivial and require painstaking attention. 3) FTP is resource inefficient by requiring a separate data connection for each file transferred. 4) Parsing of the FTP directories is also complex. 5) For high volume integration requirements, managing all of the FTP files can become problematic.

    Proprietary APIs. Proprietary APIs may at first seem attractive based on the specificity of their integration to a specific application. This may also be a point of weakness, however, as a great deal can be invested in terms of licensing and labor to make these APIs work and they are essentially single purpose. If you later find that you need to extend a different RIA application, you are back to the drawing boards in you search for the right integration pattern. A better approach would seem to involve a generalized integration solution on both the mainframe side and the non-mainframe side of the integration scenario.

    3270 Emulation. Another option for mainframe integration is 3270 emulation. Clearly this is a strong candidate for RIA extension as it provides entry to the user interface itself. Adapters are available that will publish a secure Web service that enables bi-directional communication with mainframe systems and applications via the user interface stream known as 3270. The advantages to this approach are the relatively small amount of integration work required on the mainframe side. An expert user can spend a few hours training the emulator to find the right workflow to reveal the data or conduct the transactions and other I/O needed. However, the integration possibilities will be limited to those provided by the application to the user. If there is a need to go outside of these limitations, then this might not be the best integration pattern. In addition, the risk of inappropriate integration design needs to be carefully considered. Even expert users may be completely unaware of the ramifications of a particular interaction. Nevertheless, this will be a method chosen in many instances. The trick is to avoid the trap of just stuffing the mainframe application into the browser using one of these screen scraping type tools. Security concerns and usability issues are not trivial.

    Messaging Queues (MQ). With JMS or WebSphere MQ on the mainframe, a messaging protocol can be observed that includes message brokering capabilities and greatly enhances the integration system. In many respects, messaging is the best gateway to application-to-application integration. But it should not be mistaken as a great solution for RIA extensions. Not all mainframe systems are equipped to handle MQ and certainly yhe investment required off the mainframe would be considerable. Unless you alrady have MQ present in both mainframe and non-mainframe servers, I would skip this approach. Other protocols such as CICS may be preferable not only for their relatively greater presence, but also because of the strong knowledge base in the mainframe IT community regarding their use.

    CICS. Customer Information Control System (CICS) is a mainframe transaction server designed for mostly interactive rapid, high-volume online processing and can also perform background processes. With a CICS Adapter, the uniPaaS application platform can be made to appear like another CICS server (including its clients) to a mainframe system. CICS support for multi-region operation (MRO) provides a simple and secure entry-point into the mainframe application environment without the need for extensive programming. Some CICS integration solutions utilize Web Services to interface CICS on the mainframe to the outside world. So with CICS we have another excellent pattern for mainframe RIA extension to utilize the CICS adapter to connect to the uniPaaS application platform, thereby eliminating the need for multiple interface development and simplifying the deployment of the refactored mainframe applications as RIA applications.

    To manage RIA development and RIA mobile development of Rich Internet Business Applications, the uniPaaS application platform is an excellent solution. More information on the uniPaaS Application Platform is available from Magic Software Enterprises.