Wednesday, December 30, 2009
Arrival / Departure Management – Predictability of arrival and departure times is a difficult and important matter in fleet management operations. Effective systems for en-route arrival updates can be managed using GPS (global positioning systems) and concepts such as geo-fencing. Factors such as time windows, open/close time, re-loads and route restrictions must be accounted for.
Barcoding – Barcoding and scanning are common interface requirements in various aspects of fleet management systems. Barcodes can be used on packages, trucks, trailers, palletes, containers and other items. Increasingly, RFID devices are being used as a substitute or supplement to barcodes as well.
Customs Interface or Module – International shipments require customs documents and export documentation, payments, brokering and other solutions in order to facilitate timely movement of goods, re-loads, transfers and avoidance of delays.
Damage Control Systems – large ocean-going vessels require damage control systems with capabilities for sensing, locating, reporting and documenting water damage, fire, smoke, radiation, chemical and biological damage, pipe bursts, explosions and shell fractures.
Damages/Risk Management – Collision records, damage reports, insurance claims, and related data are associated to drivers, vehicles, goods, routes and other information.
Delivery Management – Requirements for delivery management include proof-of-delivery, delivery confirmations, triggers for invoicing, en-route next stop triggers for short haul drivers, en-route printing of delivery documents and more.
Device Interfaces – Fleet management systems typically involve multiple device interfaces including barcode, RFID, GPS, electronic messaging, printers and more.
Direct Store Delivery – Many fleets are involved in Direct Store Delivery (DSD) approaches. DSD requirements include on-site ordering and approvals, in-store inventory reporting and more.
Dispatch – automated routing, scheduling and dispatch modules should also match skill sets, territories, customer requirements and resource costs. Time and distance calculations for each stop are included in route manifests with turn-by-turn directions or voice and command line based driving directions.
Driver Performance Management – A good driver performance management module can help to track performance data related to individual drivers and compare them to overall driver results, route results and time window based comparisons.
EDI – Fleet management systems may include EDI handling capabilities typically for forms 204, 990, 210, and 214.
Environmental Sensors – Sensitive cargo containers may be equipped with environmental sensors that record location, light exposure, door opening, access controls, impact, shock, vibration, tilting, upending, temperature, radiation, toxic hazards, biohazards, video sensors, audio sensors, weighing/scales, C02 sensors, oxygen sensors, and other environmental controls and related data.
Freight Forwarding – Ground shipments, rail freight forwarding, air freight forwarding, ocean freight forwarding, break bulk, break bulk, consolidation, deconsolidation, waybills, etc.
Fuel Management – fuel management systems manage fuel ordering, delivery, inventory, pump usage, vehicle fuel efficiency, vehicle fuel expenses, driver fuel efficiency, fuel reimbursements and other data.
GPS – Global Positioning Systems (GPS) provide real-time location capabilities for fleet management systems including separate tracking for trucks, trailers, containers, etc.
Hauling Requirements – Heavy Haul, over-dimensional reporting, haul-away/haul-off dispatching and other requirements may need to be included in the desired software.
Inspection Records – Inspection records are tracked by date, vehicle, inspection type, inspection result, mileage, time-to-next-inspection, reporting agency, licensing authority, maintenance provider, inspector, facility, and so on.
Insurance – Insurance modules provide the ability to manage insurance providers, allocate costs, manage renewals, track coverages, and other details. See Claims.
International Requirements and Regulations – multi-currency, multi-lingual, multi-time-zone, and domestic and international regulatory requirements need to be managed by many international operators.
Licensing, Taxes and Fees – Vehicle fleets have multi-jurisdictional requirements for licensing, taxes and fees including renewal dates, operating permits, city licenses, plates, registration, etc.
Load Optimization – In addition to core requirements for routing and dispatching, load optimization uses weight and volume algorithms to determine optimal pallet and container loading.
Maintenance Systems – preventive maintenance, repair histories, tool tracking, sub assets, tire maintenance, work orders, knowledge database, vendor management, and other aspects of vehicle maintenance and material handling maintenance will be included in most systems.
Mobile/Handheld Devices – the mobile nature of fleet management makes mobile and fleet management a common requirement for fleet management systems. Magic Software Enterprises’ uniPaaS application platform has built-in support for deployment of applications on Windows Mobile devices.
Nota Fiscal Eletronica – the Brazilian government regulation for notifying tax authorities of all shipments of goods and services is an example of a specific governmental regulation to which your fleet management software may need to be adapted. The iBOLT Integration Suite is commonly used to overcome the challenges of meeting these requirements with existing systems.
Overtime Reduction – Business rules can be applied to requirements such as overtime reduction and fuel consumption reduction, shift costs, and so forth.
Purchases/Fleet Management – Naturally, purchase and ownership records and a good vehicle fleet asset tracking module will be an important component of a fleet management software solution.
Quality Assurance – A quality assurance module provides capabilities for insuring goods-in-transit, reporting and analyzing goods damaged in-transit, submitting claims, scheduling replacement shipments and identifying high-risk drivers, goods, routes, destinations and vehicles.
Regulatory Requirements – The regulatory requirements imposed by the EPA, collective bargaining agreements, OSHA, the USDOT and similar regulatory agencies in other countries may need to be tracked in special modules or within existing modules in the application.
Rental/Leasing Systems – many fleet management systems include rental modules for vehicle rental records and related requirements.
Rich Internet Applications – the outdated client server applications of the past are not ideally suited to today’s Internet and mobile connected devices. Application platforms like uniPaaS from Magic Software are ideal because they allow you to build applications that can be deployed in a variety of modes.
RFID – Radio Frequency Identification Devices (RFID) are increasingly replacing barcodes as the preferred methods for tagging and identifying vehicles, trailers, containers and packages.
Routing – Routing software plans routes, loads, dispatches, and manages special orders, off-day deliveries, manifests, tracks delivery progress, monitors route variations and exceptions, and much more.
Scheduling – Closely related to routing, scheduling optimizes departure times, optimizes driver availabilities, and reduces delays.
Time and Attendance – workforce management requirements for fleet operators are unique in that employees and jobbers are rarely on-site and need simplified methods for reporting time on the job. Time and attendance systems correlate reported hours to known vehicle movements, delivery information and norms for specific routes.
Tolls – Toll devices and ad-hoc tolls, receipts and desired routing adjustments are managed by the toll components within a fleet management application.
Track and Trace – Shippers and receivers need accurate up-to-date status information on shipments as well as the ability to trace delivery of goods and signatures.
US DOT NTCIP – In 2009, the US Department of Transportation initiated the NTCIP as a protocol for intelligent transit systems. These systems can be triggered by on-board devices and provide traffic signal priority for selected, e.g., behind schedule, transit vehicles.
Valuation – Vehicle valuation and asset management modules are an important component of most fleet management software applications.
Work Orders – Maintenance and repair operations are typically managed through work orders that direct and track the required maintenance and repairs to specific vehicles. These orders must inter-relate to scheduling and routing to keep the other systems aware of vehicle availabilities.
X-Ray and Gamma Ray Cargo Systems – Used for security monitoring of in-bound shipments into the yard, x-ray and gamma ray scanning provide for a means of passive detection of dangerous or illicit goods.
Yard Management – Yard management allows for priority access and routing of trailers inside the yard. Various types of RLTS systems can be used to track the current location of any trailer making it easier for the yard vehicle to quickly locate it.
Z/OS, UNIX, Linux, IBM i and Windows Operating System Support – Cross-platform and cross-database support and integration may be required for some fleet management software applications where multiple subsidiaries and operating units are running IT systems on different platforms. Selecting a cross-platform, cross-database solution like uniPaaS with a strong integration suite like iBOLT can help assure the greatest portability of your application.
For more information on how-to build the ideal fleet management software application, contact Magic Software Enterprises at firstname.lastname@example.org. Magic Software Enterprises’ premier clients include UPS Supply Chain Solutions, Menzies World Cargo, and Carey International.
Wednesday, September 23, 2009
One of the frequently cited advantages of the uniPaaS application platform is the ability to instantly generate new iterations and prototypes of the software for immediate feedback. As Art Pennington states in his book Profit: Discover the Gold Mine in Your IT Department,
Rapid repetitive prototyping provides the opportunity to test different scenarios and actually see which ones work best in live operation. Success with one technique might generate additional ideas for the next developmental increment of the system. Many times, when you can see something clearly at one level, the next logical improvement becomes apparent. That improvement would never have been visualized without the existence of the prior working model to provide the creative insight.
Mary Poppendieck’s presentation at Agile 2009 on “Deliberate Practice in Software Development” is well worth the time. Available on the InfoQ website.
Monday, September 21, 2009
Custom Software Development: 5 Things to Ask A Custom Application Development Firm Before You Turn Over the Keys to Your Requirements
Business owners and Line of Business managers with a vision of proprietary business value and defensible competitive advantages often articulate the needs for custom software that leads an IT department to seek help in custom application development. Too often, IT managers rush out to seek the best software development company when instead they should be seeking the best software development platform first, and then ask who is the best firm to deliver development services for this platform.
Business users seek increasingly usable and functional custom software applications to satisfy end-users and improve customer service. In many organizations IT is severely challenged to deliver custom software solutions to satisfy business requirements and extend legacy applications to incorporate new mobile and rich Internet interfaces. Owners and managers have in many cases turned to outsourcing to address the problem of custom software design and development with the attendant bottom line impact and delayed delivery cycle. Fortunately there are alternative approaches coming to the market which make use of "Metadata-driven application platforms" that enable the development and deployment of secure Internet and mobile applications to extend existing application functionality and shorten the application delivery cycle.
Before selecting a software development company, seek these capabilities in your custom application development platform:
Despite the dissatisfaction we have with existing programs, sometimes the best parts of existing applications can be reused and integrated as components of new applications. A typical example is the modernization of AS400/iSeries/System i/IBM i applications, in a way that allows a business to continue using core applications which would otherwise require substantial investments to rewrite.
With the uniPaaS application platform, for example, components can be called from .NET code, java objects, Web Services, RPG, COBOL, etc. Reusing core functions can save weeks or months of development effort and reduce overall project costs. Identifying custom software development companie that can delivers these solutions just makes sense.
Would you find it productive if you and your users could see the end result of your application before you start developing?
The development platform selected should not force you into use of common “third-generation languages” or 3GLs. These older style programming languages remain the most common used today by many custom programming services, because it is easy to find programmers who, if given enough time, can develop applications. Despite the fact that as much as 70% of these programming projects developed in 3GL languages fail, corporate America and global enterprises pour billions of dollars into overly complex development methods simply because they do not know any better way. The mistake, quite frankly, is that they ask programmers for their recommendation, and of course programmers keep recommending the same-old problematic tools that they are familiar with. As long as these programmers get paid, they care little about completion dates or the final results. Attempts by business users to get timely results are met with scoffs and disdainful remarks that “you don’t know what you’re talking about” and it can’t be done.
But if you drill-down to the truth, most programmers have never used a metadata-centered application platform like uniPaaS. Despite the fact that it drives the profitability behinds some of the worlds largest enterprises: UPS, Boeing, Fujitsu, Allstate, and others, the average programmer is unaware of what really goes on inside the world’s most productive programming teams inside these large enterprise IT departments.
Manipulation of application metadata rather than tedious line-byline scripting, means faster prototyping that enhances interaction of developers with business users thus improving the final result and reducing the amount of rework.
Very fast prototyping (facilitated by uniPaaS' use of Metadata) enables better understanding and proofing of requests and concepts. Also, business users often relate better to visual hands-on prototypes than to algorithms. It is easier for developers and users to share and exchange information using functional prototypes rather than looking at program code or confusing and obscure diagrams.
Ask an application platform vendor about scalability and they will usually suggest that the solution is faster processors or more processors. Te truth is few application platforms are truly designed for partitioning and load balancing that enhances scalability. uniPaaS is very scalable, and its compact footprint and high performance enable its installation even on a simple laptop. Yet, it can be deployed in high performance environments supporting many thousands of users and transactions. 85% of all real estate agents in the United States, for example use uniPaaS applications for their multiple listing services representing an enormous amount of real-time data for a key industry in the United States.
uniPaaS has been installed and fine tuned in tens of thousands of sites, successively improving and optimizing its code. As a result, it uses server resources with an efficiency that would be very difficult to match in a one-off project using traditional coding.
Application security is an enormously complex subject touching on issues ranging from user rights to encryption to application testing to denial-of-service assaults. Ask most programmers about security and they will kind of shrug and suggest that someone else worries about that. What do they do to ensure the security of their code? Most will shrug and find themselves simply unable to answer.
The uniPaaS application platform was designed from the ground-up as a secure environment. Some of our clients have such severe security requirements that we can not even mention their names. Since the uniPaaS RIA Client is an independent application and not Browser based, it is not subjected to the security issues and attacks related to World Wide Web Browsers. Also, the message format and protocol used to communicate between the Server and Client in uniPaaS are proprietary and secured. Finally, the uniPaaS Client does not access directly any backend resources such as databases - it only communicates with the Magic Broker.
With multiple vendors independently involved in the same project, you increase the likelihood of a blame game. The application platform vendor can claim that the tools are not being utilized properly, the software development consultants can claim that they have encountered unanticipated deficiencies in the application platform. One question I would ask of an application platform vendor, is whether they offer professional services and whether their partners can be subcontracted through the application platform vendor’s professional service department.
Over the years, Magic software had been exposed to and participated in numerous development and deployment projects, and its professional services organization provides a broad range of consulting services, from system level issues to application design and project management. They can incorporate external partners with additional expertise, with the added advantage that by dealing with one vendor for both the application platform and the services that are built on it, you can avoid the blame game and ensure accountability and responsiveness.
Clearly, custom software development benefits from an application platform that gives choices. If custom software development is on your agenda, be sure to include the five capabilities mentioned here on your list of questions pertaining to the application development platform. Before you turn over the keys to your next application development project, make certain that you have selected the right application platform.
For another point of view especially focused on RIA Application Development, I recommend The Five Essentials for Building Business Applications White Paper.
Friday, September 18, 2009
With all the hype around cloud computing (even the US government is getting into the cloud computing act) and the true maturing capabilities that surround it, enterprise IT architecture is coming under increasing scrutiny.
What is the role of enterprise IT architecture in achieving business success?
Enterprise IT architecture should support the business operating model and be achieved through an IT engagement model. These three elements taken together (business operating model, enterprise IT architecture, and IT engagement model), provide a foundation for business execution. Based on a clearly defined business operating model, the enterprise architecture can be developed or adapted to support the model. The key elements of an enterprise architecture are digital business processes, IT infrastructure, shared data, and customer interfaces. Assessing the current level of architectural maturity within an enterprise, will provide a basis for further recommendations to enhance architecture and infrastructure.
This review should help to reveal any business silos or fossilized business processes engendered by current architecture. Assessment of current and planned use of technology standards will allow a further determination of architectural maturity. Critically, an assessment of the core business systems and their level of optimization will lead to a further level of understanding and recommendations for enterprise architecture. Finally, based on successful recommendations related to operations silos, standardized technology and an optimized core, recommendations for business modularity and a service-oriented architecture needs assessment can be conducted.
With these various reviews providing a better picture of enterprise architecture and its maturity, specific projects to enhance the foundation can be recommended and executed. Magic Software's Global Services team is highly experienced in conducting enterprise architecture reviews that are relevant for organizations.
Should your organization consider cloud computing, private clouds, hybrid clouds? Should you upgrade to the latest uniPaaS application platform for a better end user experience?
Before even answering these questions, a review of enterprise IT architecture should take place. Who better to advise you on architecture to support business applications and cloud computing than Magic Software itself?
Thursday, September 3, 2009
Business process optimization is at the center of the agenda for many businesses today. In the past, efficiency may have been code language for layoffs and cutbacks – a strategy of doing less with less until the business cycle recovered and managers could start reporting gains again that would give business leaders the confidence to expand. But this is not efficiency; this is just monitored growth and retrenchment. True efficiency is not simply a matter of doing the same things more or less, but rather of doing things differently and yielding a better result. The typical IT manager is worried about data integration. CIOs are responsible for optimal results, however, and push their managers to go beyond data integration to achieve improved business process management and optimization. In this regard, business metadata has an important role to play.
“Business metadata emphasizes the most important aspect of IT: making computers and information technology useful to the businesspeople themselves; not indirectly, but directly. Business metadata is about clarification and meaning; it is about enhancing reports and one dimensional data to be turned into information, allowing data to be turned into information and the information to be turned into wisdom.” William Inmon, Bonnie O’Neil and Lowell Fryman, Business Metadata (Burlington, MA: Elsevier, 2008).
As the degree of integration increases in a business and moves beyond data integration to true business process management, sustainable competitive advantage can be achieved. The notion that better use of information can lead to competitive advantage is not novel.
“At a time when companies in many industries offer similar products and use comparable technology, high-performance business processes are among the last remaining points of differentiation. Many of the previous bases for competition are no longer available. Unique geographical advantage doesn’t matter in global competition, and protective regulation is largely gone. Proprietary technologies are rapidly copied, and break-through innovation in products or services seems increasingly difficult to achieve. What’s left as a basis for competition is to execute your business with maximum efficiency and effectiveness, and to make the smartest business decisions possible. And analytical competitors wring every last drop of value from business processes and key decisions.” Thomas Davenport and Jeanne Harris, Competing on Analytics (Boston: Harvard Business School Press, 2007).
Top executives can not expect these improvements to happen on their own nor should they expect that they can simply demand process efficiency from their organizations. Business process optimization demands a culture shift and symbiotic relationship between the CIO and IT managers within the enterprise.
“Leaders must also create an environment conducive to reengineering. Urging people on isn’t enough. Any rational person in a corporate environment will react warily, if not cynically, to an executive’s insistence that he or she can break the rules, defy the received wisdom, and think out of the box. So, while half the leader’s job involves urging the process owner and reengineering team to perform, the other half involves supporting them so that they can perform.” Michael Hammer and James Champy, Reengineering the Corporation (New York: Harper Collins, 2003).
Supplying the right technology to the IT organization is another fundamental. The degree of integration possible must span data exchange, data transformation, process modeling, process simulation, workflow automation, business rules automation, process monitoring and optimization. A robust business process management solution will include all of these capabilities.
For additional information, please download our FREE! White Paper! entitled "The 5 New Essentials of Building Business Applications."
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:
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."
Wednesday, September 2, 2009
Application Development Managers Know that Sometimes Less is More
Is the development team working on your RIA client different from the team working on your core business application logic? Do you ever have bottlenecks in development caused by lack of the right people with the right skills? Have you ever felt overly dependent on skill specialists?
Experienced application development managers know that sometimes less is more. Unfortunately, with the most well-known RIA solutions, a condition known as “deviated development” occurs. A team of RIA programmers is writing code in a completely different line-by-line scripting language that the back-end team. Would you intentionally invent this scenario? Of course not. When it comes to programming language diversity, less is definitely more. But some enterprises just feel trapped, bogged down by risk-prone strategies that have evolved over time.
With the uniPaaS application platform, organizations do not need to invest in multiple specialized skill sets in order to develop modern RIA applications as well as traditional client-server applications. They just need to describe the functionality of the application and request it's execution as needed - RIA or Client-Server. This reduces the cost and requirements of development resources.
A good analogy is the universal remote control - you use the same on/off, channel or volume buttons on the remote regardless of which equipment you operate.
In uniPaaS, the main Metadata elements are: Business Logic, Data View Definition, and Basic Operations: Update, Call (internal), Invoke (External), Raise Event, Evaluate, Verify, Form (Input or Output), Expressions (uniPaaS programs can access around 400 built-in functions as well as custom functions created by your developers) . uniPaaS is declarative programming at its best. The programmer states what he wants to do without coding the minutiae of how it is to be done. The uniPaaS application platform knows how to do that – across multiple platforms and databases. Metadata Isolates the physical environment (hardware, operating system, database, communication layers, etc.) from the business logic of your application.
In uniPaaS applications, there are many common application features, such as security, data access, user interaction, that can be 'invoked' rather than 'developed' each time. A distinctive example is the 'Recompute' feature of uniPaaS. This works a little bit like a spreadsheet - it maintains dependencies that only need to be defined once, throughout the entire application.
Maintenance of those pre-programmed components is assured. When trying to do the same in Java with acquired classes, the furture maintenance of those opaque pieces becomes a serious hurdle.
Take the example of an inventory item and a Sales form. In traditional programming, the developer would have to program the incrementation or decrementation of the quantity in stock for each edit of the sales form line (create the line, delete the line, modify the line). In uniPaaS, all the developer has to do is to write a rule that defines how the sales quantity relates to the quantity in stock (typically "sales quantity decrements stock quantity"), and uniPaaS will automatically handle all the individual cases. Other typical examples can be found in the handling of the User Interface or Data Access.
In today's dynamic business environment, application development team leaders are looking for simplicity - they are interested in reducing the diversity level in their team, eliminating repetitive or mechanical tasks, saving time and resources, and attempting to work with the platforms that provide solutions for both client and server sides of the same business application.
In addition considering the fact that good programmers are scarce, there is a need to work with one platform that will cater to all flavors and business requirements such as Web Services, XML, team development, mobile development, Web programming and more.
uniPaaS and, if needed, Magic Software's professional services team can answer all the requirements through the use of one consolidated environment for development and deployment, combined with expert level consulting, support and hand-holding services.
Why stack up a bunch of old remote controls on your desk along with soon-to-be archaic RIA programming skill sets. Focus on a unitary application development approach that is metadata driven and flexible across multiple environments.
For a FREE! White Paper, please see Business Applications: Building a User Interface to Deliver Optimal User Experience
Tuesday, September 1, 2009
According to Evans Data Research, more than half of developers started the year with plans to develop some sort of SaaS application. That’s pretty remarkable when you consider that almost no one owns SaaS Enabled Application Platforms and development tools.
The implication is that all this SaaS programming is being done the same way enterprise application programming was done 40 years ago – by brute force. In fact, Gartner has stated that cloud computing architecture will need seven years to mature. In a recent press release, Gartner wrote:
"SEAPs are the foundation on which software-as-a-service solutions are built," said Mark Driver, research vice president at Gartner. "As SEAP technologies mature during the next several years, Gartner foresees three distinct, but slightly overlapping, phases of evolution. The first phase, through 2011, will be that of the pioneers and trailblazers; the second, running from 2010 through 2013, will be all about market consolidation; while the third phase, from 2012 through 2015, will see mainstream critical mass and commoditization."
As Gartner says:
As software as a service (SaaS) and cloud computing move toward the mainstream, platform technology emerges that is designed specifically for the requirements of that use pattern. A SaaS/cloud-enabled application platform (SEAP) is an application platform designed for multitenancy and elasticity — the critical characteristics of cloud computing that are absent in the now-prevailing platforms. When a SEAP is deployed "in the cloud" and offered as a service, it acts as an application platform as a service.Since uniPaaS offers a multinenancy management system and is highly elastic, it would seemingly deserve a place amongst the early leaders in any future SEAP quadrants and waves by leading analyst groups like Gartner and Forrester. But whether the analysts comment or not is far less germane than whether programmers adopt uniPaaS.
Consider just three of the advantages that uniPaaS can offer a developer of a SaaS application:
1. A unitary development and deployment platform. No need for multiple languages, scripting tools and the like. You have one consistent solution for developing the client or user interface layer, the business logic or core application layer, and the multi-tenant architecture or database layer. It’s all their pre-built, ready for you to access.
2. Metadata driven development. For generations, programmers have been dreaming of a metadata driven approach to application development that allowed them to create programs without rewriting basic functionality and building out the same software architectures over and over and over again. With uniPaaS, you leverage the building blocks of an application rather than write the building blocks. Low-level functionality is embedded in the application platform and managed through metadata by the developer. That can save literally years, even decades, of programming effort because metadata platforms give you the ability to modernize underlying technology while preserving and enhancing core-business logic. Furthermore, metadata enhances developer interaction with business users thus shortening application delivery cycle (e.g. prototyping and POC).
3. True forward migration. There is no way to prove the capability of a platform for forward migration because it begs the question, “forward migration to what?” I can not predict the future. But I can document the past. And the surveys we have conducted of uniPaaS users are extremely clear. Without exception, uniPaaS developers point to forward migration of core business application logic as a great benefit of the uniPaaS platform. This is not their speculation or belief about what might happen, this is a retrospective judgment that “it was good” – that uniPaaS in all of its prior lives has provided a consistent forward migration.
So if half of the 500,000+ computer programmers in the US are working on SaaS this year, what tools are they using? The same old cumbersome Java and .NET development tools, I suppose. I am sure that Magic Software would welcome an OEM SEAP conversation with a platform vendor in search of a real, ready-to-go SEAP that is marketable today. Together we could reach those hundreds of thousands of developers. In the meantime, if you want to save a few years or decades and reduce your time-to-market of your SaaS application by an order of magnitude, feel free to contact us one-by-one.
For additional information, please download our FREE! White Paper! entitled "The 5 New Essentials of Building Business Applications."
Tuesday, August 25, 2009
Our customers are the best source of referrals and new customers for uniPaaS. Quite often we receive requests from existing customers for materials that can help “make the case” for uniPaaS. One of the more interesting White Papers to appear on the Magic Website in recent months is Ofer Spiegel’s “Business Applications: Building a User Interface to Deliver Optimal User Experience”.
We have previously made the case that:
A ‘metadata engine’ is a ready‐made business application engine containing pre‐written technical and administrative functions and services. It enables you to bypass the intensive technical code‐writing stage of application development and move quickly and efficiently to deployment.
In terms of uniPaaS, we have therefore stated that:
The uniPaaS development environment is really a visual representation of application ‘assets’ and business rules that’s stored in XML based ‘metadata’. This metadata business structure can be easily transferred from one deployment scenario to another (for example; Full Client to SaaS) with minimal effort.
But the new white paper by Ofer is really about creating the optimal user experience in business applications. Improving the graphical user interface or richness of a software application is an important goal. But user interface trends change and what looked modern a year ago may appear old and stodgy today. This makes a metadata approach all the more important to the application designers, architects and programmers who have the responsibility of maintaining business applications.
Take a look and I am sure you will think of someone that you can refer to Magic Software as a potential business partner or end-customer. After all, what business doesn’t need better software?
For additional information, please download our FREE! White Paper! entitled "The 5 New Essentials of Building Business Applications."
Friday, July 31, 2009
Not much happens in the IT World without “Gartner’s blessing.” Vendor’s don’t build products and IT organizations don’t buy them. If some phenomenon does bubble up without their blessing, you can be sure it will make a future Magic Quadrant or the next version of the ‘Top 10 Strategic Technologies List.’
As the leading IT analyst organization, Gartner’s list of top ten strategic technologies receives close scrutiny. The Gartner top ten list for 2009 includes: “Virtualization, Business Intelligence, Cloud Computing, Green IT, Unified Communications, Social Software and Social Networking, Web Oriented Architecture, Enterprise Mashups, Specialized Systems, and Servers – Beyond Blades.”
In order for Gartner to play their role as well as they do, they obviously spend even more time listening than they do writing and speaking. When Gartner speaks, more often than not, they are representing the voice of collective wisdom for vendors, enterprises and their own internal oracles. CIOs attempting to captain their IT strategies through tumultuous times are risk averse, cost sensitive to human resources needs and legacy maintenance, all the while concerned about inability to compete with possible brain drain to more agile competitors sporting more innovative strategies. The pressure is great to figure out the trends, stay on top of them, and find a vision that will steer the IT ship through the storm. Finding the right balance point in this balancing act between visionary architect and risk-averse gatekeeper is how the CIO proves their value to the enterprise.
I find it interesting to look at the top ten list and ask ‘what would a business that adopted all of these trends look like?’I call it the ambient enterprise. As Oscar Berg notes in his article Ambient awareness and findability, “The concept of ambient awareness and creating an online environment which fosters ambient awareness among employees should be interesting for any organization that has a large and distributed workforce. In a way, it can be seen as a way to mimic the dynamics, efficiency and agility you can achieve quite easily in a small organization due to reach, transparency, trust and immediacy.” Let’s look at each of Gartner’s trends and see how they help to provide a clearer picture of the ambient enterprise.
Virtualization. As Giuseepe Riva, F. Valtaro and F. Davide state: “Virtualization of the elements of the world (physical resources, including wireless sensors and actuators, network infrastructure, IT resources, software and human capabilities) will allow the interaction between individuals independently of their location…” (Ambient Intelligence, p. 248). As one can see from this broad view of virtualization, the virtualizing of network infrastructure is but part of an overall virtualization that encompasses the interaction between people and systems.
Business Intelligence. The thought behind ambient business intelligence is not new. For a good example of the discussion that’s been going on for awhile, you can google Neil Raden of Hired Brains Research’s article from October 2006 on Ambient Business Intelligence where he states that “…rather than just measuring business results after-the-fact, which is the primary role of BI today, next generation BI will advise and drive businesses with embedded analytics, real-time decision tools and vastly improved capabilities for people in every corner of the organization, and beyond it. The idea of ‘Ambient Business Intelligence’ simply means that it will surround and inform, even in ways that may not be perceived directly.”
Cloud Computing. While Cloud Computing may seem like an infrastructure discussion, Gartner and others have commented clearly on the service-based nature of cloud computing. If it isn’t offered “as-a-service” then Gartner might demote it taxonomically to something less than “cloud computing.” Similarly to the connection between virtualization and ambient intelligence, one can clearly see a connection between cloud computing and the need for the ambient enterprise to access its ambience “as-a-service.” Holger Mügge et. al., who wrote “Object Technology for Ambient Intelligence and Pervasive Computing: Language Constructs and Infrastructures (Berlin: Springer Berlin/Heidelberg, 2007),” make this prescient point: “The idea of Ambient Intelligence is that everybody will be surrounded by a dynamically-defined processor cloud, of which the applications are expected to cooperate smoothly.”
Green IT. The ambient enterprise will be a greener enterprise than its predecessor business organizations. To a large extent, this will occur because of the broader culture shift that is driving green initiatives in business. However, there is an intrinsic attraction between ambient awareness and shared hardware resources via virtualization, cloud computing and clustered data centers. Trends like mobile, thin notebook and netbook computing should limit power demands and allow the ambient enterprise to reduce client-side power consumption while at the same time utilizing cloud computing to reduce overall server side resources and energy consumption in particular.
Unified Communications. Unified communications is a set of solutions that integrate synchronous and asynchronous communication technologies. What’s the difference? The telephone is synchronous, the voicemail box is asynchronous. A fax is asynchronous. Instant messaging is synchronous. Managing multi-channel communications is not new to most enterprises, but the notion of ambient communications is that the receiver is “always on” even if it is not being observed. Providing a rational way for business users to consume all of these divergent communication technologies can be quite difficult. And of course unintentional results can sometimes follow. For example, I didn’t even remember that this blog was being consumed and reposted on the Magic Software page at FaceBook until recently, when I googled a topic and my own blog article showed up on FaceBook in the search results. Naturally, companies like Ericsson are quite interested in the topic of ambient communications. “Ambient communication is what happens when online social networks get news feeds and automatic e-mail updates, allowing users to communicate with more people more efficiently,” says a recent Ericsson blog. But they see the online world business model as more suitable to ambient communication than that of the mobile world with its per SMS fees. They know they have created a barrier, but they’re not quite sure how to overcome it.
Social Software and Social Networking. Integrating to social software, social networking and social media is becoming a top priority for CIOs seeking to carry their businesses forward in the era of Enterprise 2.0 or Web 3.0. When I first met Clara Shih, founder of FaceForce, I was impressed with her determined pursuit of integration between FaceBook and Salesforce.com. Clara is the type of person who understands the cost and complexity of aligning business strategies with the latest technology opportunities and business models. In her book, The FaceBook Era, Clara suggests that “social capital is the currency of business interactions and relationships.”
Web-Oriented Architecture. I believe it is Gartner Vice President Nick Gall who is credited with first pulling “Web-Oriented Architecture” out of the Gartner acronym machine, what does it mean? More than anything, I think it means Gartner recognized that the REST revolution was displacing SOA thinking amongst a lot of practical developers. Or perhaps, that SOA thinking just wasn’t taking hold. Regardless of the SOA vs. WOA debate, it simply underscores the nature of ambient computing in the enterprise. I believe that the need to pull resources in unstructured event-driven (i.e. ambient contexts) helps drive some of the demand for WOA.
Enterprise Mashups. With all of these ambient business processes and data flittering about, methodologies for compositing information, applications and GUIs are needed. Enterprise Mashups help to meet the need for composite services and data. Gartner has created a reference architecture and it will be interesting to see solutions emerge in this space. As my friend Avigdor Luttinger says, “I would like though to draw attention to a cool Enterprise Mashup vendor from France that virtually complies to the reference architecture and even adds legacy mashables - that’s Convertigo by http://www.twinsoft.com.” As a CIO, major concern has to be given to the need to handle legacy applications within budget constraint and despite resistance to change in some quarters.
Specialized Systems and Servers - Beyond Blades. For people like me who have emerged from the software industry, it is easy to dismiss discussions of heterogeneous systems and blades as just hardware geek talk. But in the ambient enterprise, unified communications and the open door of social networking will help to drive the need for specialized appliances or systems that can manage diverse forms of communication, and begin to provide the tagging, cataloging, filtering, archiving and security functions needed to counter or at least complement all that uncontrolled ambient enterprise.
While CIOs will view the ambient enterprise as a strategy, vendors will view the ambient enterprise as an opportunity.
As I have stated previously, the difference between the ambient enterprise and a business that simply tolerates Web 2.0 is in the degree to which the company embraces online interactivity through both a culture shift and a corresponding technical shift that incorporates the evolving semantic web and integration technologies.
The culture shift is all about embracing the ad hoc interaction of social networking, business networking, and all the myriad activities that are a part of the changing business culture: from web meetings and conferences to socially-driven searchable content and messaging to the myriad of social networking and media options.
Supporting this culture shift from an IT perspective means incorporating and mastering new technologies and developing a culture of adaptability that allows the enterprise to embrace and abandon Web 2.0 and 3.0 as needed. CIOs who embrace the ambient enterprise philosophy and find ways for unstructured ambient business processes to peacefully coexist and integrate with existing structured business processes managed by legacy systems will thrive.
Key characteristics of application platforms that serve the needs of the ambient enterprise are:
· Metadata-Centric Approach.
· Rich Internet Application Capabilities.
· Technology Agnostic.
· Mobile Ready.
Clearly, those IT organizations who wish to pursue the leading trends are going to power companies that look and feel quite different from the typical business. The ambient enterprise will be agile, better at listening, and ultimately dominate in this fast changing world.
Thursday, July 30, 2009
The following contribution to the Magic of uniPaaS was written by Michael Singer, Application Development Manager for Magic Software Enterprises Americas
When creating a SaaS solution that runs under a browser, cross-browser compatibility is a must. In today’s world of multiple browsers and plug-ins, a good SaaS solution will have to be tested on every existing browser (including older versions of browsers). Furthermore, new features implemented in the solution would require additional cross browser testing as well. Vendors of web based, business applications have been calling for a standard in the “mad” world of browsers for a long time, but with the recent launches of Google Chrome and IE 8, it seems, the diversity and differences between the browsers is growing with every passing day.
A little kid once said "There is no spoon." (The Matrix, 1999)
So let’s think out of the box. A good SaaS solution does not have to run under a browser. Rich internet applications (RIA) are "web applications that have most of the characteristics of desktop applications, typically delivered by way of standards based web browser plug-ins or independently via sandboxes or virtual machines. Examples of RIA frameworks include Curl, Adobe Flash/Adobe Flex/AIR, Java/JavaFX, uniPaaS and Microsoft Silverlight.” (Wikipedia)
In laymen’s terms, a RIA uses the internet as a communication layer, works on port 80 just like the browser (for compatibility with firewalls), has a very thin client (for compatibility with the IT department) and yet it does not run under a browser, but rather as a desktop application, providing all the capabilities and user experience you would expect from a desktop application.
There are a few solutions out there, but in most cases the architecture is similar. Most tools have a client that renders XML pages, and a server that generates them. Requests from the client are sent to the application server which returns XML documents back. These files are then rendered again to the screen using various technologies. Most platforms have a way of managing sessions or contexts, therefore allowing some kind of persistence in the user experience, and providing a solution for offline work. The clients tend to have a zero footprint on the workstation, therefore making it easy for users to log on virtually anywhere. Browsers, by the way, do the same thing. The difference is browsers know how to render HTML and not XML, and quite frankly, were not designed to be the foundation for a business application but rather should have been used for, well, browsing.
RIAs come in multiple different flavors. From the amazing graphics of Adobe Air, to the amazing productivity of Magic uniPaaS (which actually includes a SaaS platform as part of the product), depending on any project’s requirements, developers could probably find a good tool out there to create any type of SaaS application that would be user friendly, provide rich functionality, secure access and would not require any cross browser compatibility, simply, because it’s not running under a browser.
So as Morpheus said “I'm trying to free your mind, Neo. But I can only show you the door. You're the one that has to walk through it.” (The Matrix, 1999)
July 18th 2009
Thanks Michael, great stuff.
Friday, July 10, 2009
This is brought on by rapid changes in the competitive landscape – everything from new entrants, to new features, to new adjacent categories – all of which provide alternatives to customers. Add to this the fact that business models employed by software companies are also changing and you find a business environment where people talk about terms like "survival" and "killing the competition."
The paradigm shifts have less to do with the underlying business processes addressed by the software solutions offered and more to do with the way the functionality is delivered to the business organization. The Web, Web 2.0, Web 3.0 shift is taking business use of the Internet from broadcasting to ad hoc interaction to what I call the ambient enterprise. The difference between the ambient enterprise and a business that simply tolerates Web 2.0 is in the degree to which the company embraces online interactivity through both a culture shift and a corresponding technical shift that incorporates the evolving semantic web and integration technologies.
The culture shift is all about embracing the ad hoc interaction of social networking, business networking, and all the myriad activities that are a part of the changing business culture: from web meetings and conferences to socially-driven searchable content and messaging to the myriad of social networking and media options.
Supporting this culture shift from an R&D perspective means mastering new technologies. An Independent Software Vendor needs to be able to make their software offerings relevant in light of this culture shift and the needs of their customers IT departments to embrace the ambient enterprise philosophy and integrate it with existing applications and business processes.
The application platforms that are emerging from this need will have built-in capabilities for multi-tenancy and provisioning, wide Internet accessibility, rich media types and cross-platform server support. These application platforms will be deployment agnostic in that the core business logic will be able to be served across a wide variety of ever changing deployment modes. This requires a metadata driven approach to development that abstracts the underlying technology from the business logic itself. And while this adequately describes the forward tensioning of the market, it doesn't acknowledge the current situation of the typical independent software vendor – they have client server and web-based applications and they need to continue to support existing users and deployment modes. The idea of introducing new languages for the emerging RIA client programming and simultaneously maintain server-side business logic with different languages – all the while having to manually program much of the communication between client and server is quite problematic. By reducing the number of required skillsets, value can be experienced in terms of time-to-market and cost savings. But an ISV doesn't have the option of throwing away existing application logic, application compositing must be supported by whatever application platform is selected so that ISVs have a way to forward migrate their core business logic. In these scenarios, service oriented architecture (SOA) and event-driven architecture will make sense. At the same time, the applications created must be fully scalable from a single desktop user to thousands of client-server or RIA users all the while providing management, monitoring and security.
Similarly, the demand for remote and mobile user support while maintaining a high degree of business interactivity and support for the ambient enterprise is putting strains on the old ways of developing and deploying business software. Obviously, I see the uniPaaS application platform from Magic Software as the first major application platform to step up to these requirements. I believe independent software vendors and corporate developers can address the needs of the ambient enterprise for agile development, RIA development, versatile deployment and secure, scalable applications through this application platform.
For additional information, please download our FREE! White Paper! entitled "The 5 New Essentials of Building Business Applications."
Saturday, June 27, 2009
Mobile Field Service Applications are coming into increasing demand. The practice of Field Service Management (FSM) (or Field Force Automation (FFA) or Field Force Management (FFM) as it is sometimes called) involves optimizing business processes that provide on-site repair, installation, replacement and other services. Building custom field service applications rather than using off-the shelf solutions may be necessary for some businesses where proprietary processes and organizational structure make other solutions unfeasible. Mobile Field Service applications are typically deployed on Windows Mobile devices, however, iPhone, Blackberry and other devices are sometimes used as well. Programming of Custom Field Service Management software is often developed by enterprise IT departments or outsourced to system integrators and custom software houses.
As Gartner suggests, "Accelerated business demand to improve field service execution will favor two types of software suppliers: those with multiple application components and an underlying process design tool, and best-of-breed vendors with strong functionality, whose software is service-oriented architecture (SOA)-compliant or delivered using a software-as-a-service (SaaS) model. These capabilities enable the best-of-breed vendors to fit logically into (and more readily integrate with) a service management suite." The reason Gartner emphasizes service-oriented architecture so heavily here, in my view, relates to the nature of FSM software and not just Gartner's penchant for SOA programming. Because of the wide range of program requirements and unique proprietary dimensions of FSM software needs within an enterprise, Gartner correctly sees a need for extensive customization.
When building custom field service applications, it is important to consider the basic functionality and architecture of field service applications as well as the optimal development methodologies for establishing proprietary advantage through custom software development and service-oriented architectures.FSM requires development tools capable of creating Rich Internet Applications (RIA) for PCs and mobile devices.
Field Service Management: Functional Requirements Overview
FSM systems optimize business processes and manage information connected with on-site service. From a process viewpoint, the basic FSM process usually begins with a Service Request. The incoming service requests are matched against the available service staff and equipment in the Routing/ Dispatch process. Once deployed to the field, the On-Site Service itself occurs, in many use cases, field-based access to knowledge resources are involved. Inventory Processes involve management of products, replacement parts and supplies and may also incorporate cross-selling or up-selling methods. The Close Work Order process is a key milestone and trigger in FSM. Time Accounting, Billing and Collections typically follow the close of the work order. Sometimes, Scheduled Service Calls, additional on-site selling or appointments for follow-up visits are made at the conclusion of a job as well. The existence of warranty requirements or Service Level Agreements may affect process requirements as well.
Looking at the business benefit / functionality matrix as a functional tree, one can see the major branches as a) Build Customer Loyalty, b) Increase Revenues, and c) Reduce Costs.
FSM will Build Customer Loyalty by improving response times, standardizing service procedures, normalizing customer service policies, increasing first-call issue resolution, and enhancing availability of product, service and customer knowledge in the field. Service calls often begin with an initial sense of dissatisfaction on the part of the customer. Goof FSM can create a customer recovery culture wear the focus is on creating a positive customer experience that wins-back customers, building loyalty and a "customer-for-life" brand loyalty.
FSM will Increase Revenues by improving the efficiency of field service processes to capture overlooked service revenues; facilitating cross-selling of services and related products; and leveraging service excellence as a strategic differentiator and business driver. Customer loyalty lays the groundwork for enhanced revenues but it is not tantamount to the same thing. A good FSM system will guide service personnel through a business process that incorporates selling, winning of new appointments, full completion of prior purchase and service commitments, and procurement of profitable service-level agreements.
FSM will Reduce Costs by creating more efficient business processes, increasing productivity of field personnel, improving control of assets, and reducing duplicated effort. Components of efficiency come through elimination of duplicated effort, tightest possible coordination of resources, and improved availability of information. It is often said that you can't expect what you don't inspect. A key component of process efficiency can often come through the application of geo-spatial information management. Geo-spatial information makes possible more efficient routing, tighter scheduling, and better deployment of human resources.
A detailed functional specification for FSM will include functionality related to: centralized administrative and management functions; geo-spatial functional requirements; service management dashboard and business intelligence requirements; and mobile field service functional requirements. Each business will have uniqueness in its products, service procedures and organizational structure that drive needs and requirements for unique internal and customer facing processes and capabilities of the FSM system.
For Additional Information
Magic Software Enterprises and our business partners are experienced in developing custom field service business applications and extensions for customers seeking best-in-class service capabilities and business efficiencies. For additional information on how services based on the uniPaaS application platform can facilitate the development of FSM systems, please contact us at email@example.com.
Tuesday, June 23, 2009
The need for a workforce skilled in RIA development is creating demand for Rich Internet Application training in a variety of RIA development languages and platforms. With something like 360,000 application programmers in the United States alone and with RIA one of the hottest job growth areas in the IT industry, you can be sure that tens of thousands of jobs -- new highly-paid jobs -- will open up that require RIA programming skills over the next few years. Within a decade, 100,000 programmers with RIA development skills will be needed. The problem as I see it, is that with the most mainstream approaches, the toolsets and skillsets required for RIA are needlessly complex and fractured.
So I think many developers will consider it very good news that free RIA developers training for uniPaaS is now available online at the Magic Software Enterprises "Magic University" Computer-Based Training center. Smart IT departments will get there teams trained as uniPaaS developers and avoid the inevitable shortages of programmers, system architects and programmers with the multiple skillsets needed to produce coherent RIA applications.
According to the course description: The Getting Started with uniPaaS Rich Internet Application course is intended to teach the basics of programming with uniPaaS and Rich Client. The primary goal of the self-paced training is for the student to build a basic Rich Internet Business Application. When the course is completed, the student will have finished a course project which is a training application that was developed specifically for the course. By working toward the completion of the course project in a hands-on manner, the student learns the fundamentals of how uniPaaS operates and how to program in uniPaaS.
This is no lightweight online training session, however. The course contains 24 chapters presented in logical order, progressing from simple tasks to advanced concepts. To be successful you should really concentrate on the hands-on activities within the course. By working through the sample and practice exercises, you will discover uniPaaS from A to Z as it relates to Rich Internet Applications.
With this self-paced training course, you will be preparing yourself with the skills needed for RIA development of business applications. Unlike other approaches, you can be productive more quickly and develop applications in a self-sufficient manner. here is what you can expect:
1. Learn the fundamentals of uniPaaS and how to get the best out of uniPaaS.
2. Become familiar with the uniPaaS Studio interface.
3. Get to know the uniPaaS wizards and utilities.
4. Understand the uniPaaS concepts.
5. Understand the uniPaaS standards.
6. Create a basic uniPaaS business application that:
- Has a full GUI interface.
- Works with an SQL database.
- Exhibits one-to-one and one-to-many data source relationships.
- Produces reports.
2. uniPaaS Studio Interface
3. Your first program
4. Data Manipulation
5. Data Validation
6. Setting Initial Values
7. Controlling the Form's Appearance
8. Viewing Data Source Content
9. Object Data Centralization
10. Application Engine Concept
13. Conditioning Block of Operations
14. Repository Manipulation Tools
15. Find Reference Utility
16. One to One Data Relationship
17. Selecting Data from a list
18. One to Many Data Relationship
19. More about the Deployment Engine
21. Complex Reports
22. Processing Data in Groups
24. Application Deployment
One of the clear differences with uniPaaS is its metadata driven approach to development. I think this is one of the reasons why uniPaaS does not require an additional scripting tool. When everything is based on metadata originally, in the core of the application platform, engine and design, then there is no need to recreate the alphabet to adjust to new requirements such as RIA deployment. Both the architecture and the development paradigm of uniPaaS are metadata centered and so this allows for tremendous forward migration of business logic and appropriate simplification of the development task.
Monday, June 22, 2009
- The ubiquity of broadband Internet access.
- The fact that time spent on the Internet exceeds time watching TV in the highly coveted younger demographic, and is nearly equal in the population as a whole.
- Explosive increase in Web 2.0 sites and usage.
Yativ says that with the current "Web 2.0 frenzy", surfing the web has been replaced by Googling, Twittering and Facebooking. Regardless of why the use of the Web is changing, it is impacting how new entrants into the workforce think and react to business software and is therefore creating a huge need for Rich Internet Applications in business.
Clearly, business users are driving the demand for RIA in business. Properly implemented, RIA can help IT departments as well. RIA allows access to enterprise application data and functionality via alternative interfaces and reduces the number of technologies needed in the organization not to mention the required skill-sets needed.
Yativ showed how RIA replaces outdated technologies and reduces project and budget risks as it extends Enterprise Applications to business users. He also mentioned the benefit of Business Process Automation (BPA) via RIA interfaces as a way to automate business processes. Presenting information in the context of relevant business processes and in accordance with users' roles was also mentioned. Yativ sees all of this as part of a more Service Oriented IT Delivery focused on business needs.
A key concept introduced by Yativ was "Time to Cloud." Reducing the time needed to create Rich Internet Business Applications will result in greater "ROEI" or "return on existing investment" a notion that Yativ says is far more important in today's economy than ROI. Clearly, Yativ's presence at the AJAXWorld RIA Conference landed like a tidal wave at the event with a business oriented message for RIA development that was well received. uniPaaS has arrived.
Tuesday, June 16, 2009
With uniPaaS 1.8, you can expand your IT offering by supporting Windows Mobile devices alongside stationary desktops. Smartphones have become enterprise-class, making this a top 2009 priority for many IT departments and a key part of their IT strategy. With the metadata-centered productivity principles of uniPaaS, you can now easily produce highly interactive mobile applications. Existing Magic applications can be upgraded to uniPaaS and deployed as Windows Mobile applications. Most of the changes required to your application will obviously be in the graphical user interface. New applications destined for Windows Mobile can be quickly generated from the data table structure you design for your application.
As Michael Singer and I have pointed out in many previous webinars, developing mobile applications with uniPaaS is very similar to developing RIA for desktop display. Obviously, the main difference between desktop RIA and Mobile RIA is the consideration of the mobile devices’ viewing area and the expected user experience, such as touch screens and styles, and the deployment methodology. The new documentation for uniPaaS 1.8 highlights a number of important considerations.
First, there are a few prerequisites you should take into consideration. RIA applications require that you install the .NET Compact Framework and the Smart Device Framework on the mobile device. The Rich Client Deployment Builder generates an HTML that contains links to these framework files for easier installation. This means that you can simply browse the mobile device to the HTML file and install everything needed from there. Once the installation completes, the browser is no longer needed. Direct installation to the mobile device is also possible by following instructions that came with the device.
The RIA development paradigm for Windows Mobile is similar to the RIA development paradigm for other Windows versions; with these caveats: mobile devices have smaller screen sizes. Consequently, navigation is more complicated. Applications screens need to be designed to account for the much smaller "real estate" of the mobile device. Because mobile devices have unique screen resolutions, use of placement is recommended.
For the popular QVGA screen format, it is recommended to use Microsoft Sans Serif 8 font in the form properties. In addition, a width of 49 and height of 20.5 is ideal.
You should also keep in mind that mobile devices perform more slowly than desktop PCs. Good application design will find the right balance between client side operations (where the performance is slower) and server side operations (whose results require communication time and consume bandwidth). Try to avoid approaches that push large amounts of data to the client or call on the mobile client to perform extensive calculations. The good news is that bandwidth is improving all the time, with megabit throughput levels reliably available through networks such as WiMAX, EV-DO Rev A, and HSPA.
Keep in mind that the .NET Compact Framework does not include all of the functionality of the .NET framework. You will see that Mobile applications work differently. For example, the main menu opens from the bottom of the screen up in a mobile application. If only two options are possible in a menu, the items are displayed in smartphone style with the first item on the left and the second on the right side, both selectable by the corresponding smartphone key. I won't get into all the differences between .NET and .NET compact here, but you should look carefully at the uniPaaS Mobile Deployment – Supported Properties page in the uniPaaS documentation contained in the help file.
A new uniPaaS function called IsMobileClient allows you to see whether or not the client is a mobile device or not. In this manner, you can optimize your application to perform differently for mobile devices and desktop devices. Since you will have designed all of your underlying business functions using components, this really only effects the user interface layer of your application. You can use this function, for example, if you need to dynamically select a form suitable for a mobile device, or to process some logic differently based on the fact that the user is known to be mobile.
There are many, many more improvements in uniPaaS 1.8, including of course support for the use of any .NET control or assembly within your uniPaaS application. You can upgrade the look and feel of your Rich Internet Application by directly placing new .NET controls into your RIA user interface. You can also enhance the functionality of your RIA by integrating any .NET assembly. We will take a much closer look at this and other features of uniPaaS 1.8 in a future article.
Friday, June 12, 2009
I use the CEO's method of picking software development tools. I pick one that gets you to the end quickest. I don't care what everyone else uses, or whatever Microsoft is selling, or even what your IT guys want. There is only one criterion: the largest amount of software created in the shortest amount of time. Period.
That tool is [uniPaaS] by Magic Software Enterprises. It is, by far, the most productive software development tool available. I can almost guarantee that your IT department will not like this tool. But for minimizing risk and cost, it is the best choice on the market today.
I have solutions using this tool running in life insurance companies across the country, managing over $50 billion in assets.
-- Art Pennington, the Predator, Profit Research Institute, 2008.
It is never easy to put into words why uniPaaS leaves other approaches to application development so far behind. You simply have to spend a few days learning what it can really do to truly understand the "Power of Choice" as Magic's marketing team calls it.
Some of the keys to uniPaaS productivity principles derive from the fact that it is:
- Repository Based
- Task Oriented
- Event Driven
- Reusability Optimized
- Inheritance Principled
- Technology Agnostic
- Internally Debugged
- Team Ready
When I talk to IT analysts about uniPaaS, they focus in on its metadata-driven approach to application development. I am certain that those of you who program with uniPaaS on a daily basis could find even better ways to describe the essence of uniPaaS productivity. But as I have been told so many times when I ask real developers why uniPaaS is the most productive application platform on the market today, "it just is."
The results, at least, are hard to argue. As Pennington states:
Or in other words, it just is.
Just by eliminating inefficiency you can:
- Double pre-tax earnings
- Achieve a 33% increase in ROE
- Achieve a 50% increase in ROA
Thursday, June 11, 2009
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.