OutSystems Platform Technical Overview
Transcription
OutSystems Platform Technical Overview
OutSystems Platform Technical Overview OVERVIEW OutSystems technology combines the productivity offered by visual modeling tools with the level of extensibility found in integration suites and custom development frameworks. The OutSystems Platform gives you everything you need to rapidly create and deploy enterprise applications and then change those applications at any stage of their life cycle. At the core of our value proposition you will find a highly intuitive visual environment and a breakthrough deployment technology that is helping businesses deliver business applications and services in weeks, instead of months or years. © 2001 - 2007 OutSystems – All rights reserved. OutSystems Platform Overview OutSystems technology combines the productivity offered by visual modeling tools with the level of extensibility found in integration suites and custom development frameworks. The OutSystems Platform gives you everything you need to rapidly create and deploy enterprise applications and then change those applications at any stage of their life cycle. At the core of our value proposition you will find a highly intuitive visual environment and a breakthrough deployment technology that is helping businesses deliver business applications and services in weeks, instead of months or years. All-in-One Application Development, Integration, Maintenance, and Operation The power of the OutSystems Platform begins with a set of tools and services that fully automate the process of creating enterprise applications that integrate with existing systems and reach users through web, email, and mobile user interfaces: 1-Click Publishing After experiencing the OutSystems Platform “1-Click Publishing” feature, you will consider the traditional process of deploying applications into production systems as nothing less than obsolete. From a single mouse click in Service Studio or Integration Studio, you will be able to run and test your application in a server regardless of the kinds of changes you made to the user interface, to the business rules, to the database, or to the integration adapters. Best-of-all, the OutSystems Platform generates standard .Net or Java applications, makes all application code accessible, and does not require any runtime engines to operate the produced applications. Additionally, during the 1-Click Publishing process, versions and configurations are automatically stored and maintained. Once you have your applications up and running, a set of Environment Operation services will also enable security, auditing, logging, and monitoring for every application running. Intuitive and Visual Application Design Using OutSystems Service Studio, you will create and compose applications using a highly intuitive and visual design environment. User interaction flows, data models, business rules, scheduled processes, web services, and integration adapters are accessible within a visual environment and can be used to create complete applications using a simple and intuitive dragand-drop process. All-in-One Application Model OutSystems Service Studio is a codeless comprehensive visual environment that empowers application developers, with any class of expertise, to rapidly create and modify enterprise applications and business services. OutSystems Service Center is the centralized management console that coordinates the administration, monitoring, auditing, operation, and deployment of all applications, services, integration adapters, and any other resources. OutSystems Integration Studio is an integration tool that enables the extension of OutSystems Service Studio through the creation of custom adapters to integrate any class of APIs, databases, or enterprise application platforms. © 2001 - 2007 OutSystems – All rights reserved. Using the OutSystems Platform, you will no longer need to maintain your application as a set of assorted files, which are hard to modify and track, written in different languages and requiring complex deployment instructions. Any application definition coming out of OutSystems Service Studio will include all the definitions for the user interface, data model, business logic, scheduled processes, web services, and the required integration adapters. During “1-Click Publishing”, these definitions are used to track, monitor, and automate changes made to any layer of the application, and to generate and deploy the target running applications. Easy to Get Started Building applications with OutSystems Service Studio is so easy and intuitive that new developers can start being productive and participating in projects with no more than 2 days of training. Developers will need basic programming and data modeling skills as well as some understanding of how a web-based application works. Page 2 of 16 Of course, seasoned developers will be able to start much more easily and will also experience huge productivity gains. Java. Again, such adapters will be available as building blocks from Service Studio, side by side with all other standard Platform components. Easy Knowledge Transfer The OutSystems Service Studio provides the right blend of common sense visual tools, which will rapidly enable anyone within your development organization to open, browse, read, understand, modify, and redeploy any application definition for testing or production use in minutes. Web services and wizards simplify integration with existing systems. Painless Maintenance and Evolution Drag'n'drop visual elements to compose business rules Ready to Adapt, Integrate, and Extend By combining powerful discovery and code generation technology and a mix of intuitive visual tools and wizards, the OutSystems Platform gives systems integrators a quick way to create their own integration adapters to connect OutSystems applications with any class of middleware, database, or API. For application developers working on end-user functionality, Service Studio offers visual tools to assemble any existing integration adapter as if it was a built-in building block of your application. Native Web Services OutSystems Service Studio offers application developers the ability to consume and expose standard Web Services using simple, intuitive, and codeless tools. As you move forward, you will foster the adoption of a Service Oriented Architecture (SOA) within your organization. Customizable & Extendable OutSystems Integration Studio gives you flexible code generation capability, allowing you to create your own integration and extension adapters using the technology of your choice, either Microsoft .NET or © 2001 - 2007 OutSystems – All rights reserved. What do you do when you need to change your applications? Don't be afraid, embrace change! The OutSystems Platform offers you a set of collaboration, automation, and productivity tools that enable you to become agile and move forward with new business requirements as they come. Centralized Collaboration of Multiple Developers Plug in more application developers to your project and you will get instant collaboration. First, they will have access to a list of available services and adapters they can use to build their own services and applications. Second, they will get instant access to a version control repository where they can find everything they need to start working on an ongoing project. Third, when they start working on and testing their work, they get a centralized sandbox for personal use. Finally, whenever relevant changes are found in the version repository, every developer is notified and is invited to visually review and accept changes made by others. The OutSystems Platform's integrated features make it easier to adopt Agile Methodologies to application development. All a developer needs is Service Studio installed in her or his desktop. Automatic Dependency Checking Whenever you modify a business or data service, OutSystems Service Studio promptly displays a set of notifications to guide and automate the process of updating all related business services, data, and user interface elements that use the modified service. Page 3 of 16 service, or integration adapter. Managed system settings allow you to control what each of your developers, managers, and system administrators will be able to browse and modify when they log in from Service Center or even Service Studio. Moreover, you can control more advanced deployment configurations, such as servers, application configurations, application packages, and much more from one centralized management console. Developers are shown detailed differences, allowing them to merge their work using a fully visual utility. Fast and Reliable Deployment Make changes to your application and then make it instantly available with “1-Click Publishing”. You will notice that any change to an application that would usually require a large amount of modification and extensive testing, will now become painless. Any inconsistencies will be pinpointed and even modified directly by Service Studio during “1-Click Publishing”. Integrated Management, Configuration, Versioning, and Monitoring Gone are the days of having to juggle a broad set of tools to maintain applications' source code, services, adapters, versions, and configuration files, and then another set of tools to monitor, track, and evaluate the performance of running applications. OutSystems Service Center does it all for OutSystems applications from a web-based console. Centralized Services Repository The OutSystems Platform streamlines the process of maintaining and updating a repository of services, applications, and adapters that can be easily browsed by applications developers at any time to compose their applications. Automatically, during “1-Click Publishing” the OutSystems Platform keeps track of every reusable service. Application Managers use Service Center to manage the access rights to use, edit, and execute each of the services. Centralized Security and Configuration Management Service Center enhances an application manager's ability to manage and control all application resources in a centralized repository. Create your configurations to provide your developers and teams with the access rights to open, change, or execute each application, © 2001 - 2007 OutSystems – All rights reserved. Service Center offers you a centralized management, versioning and monitoring console for all your business applications Application Architecture The OutSystems Platform changes the way application developers work together with business analysts to rapidly create business applications. You can build solutions that extend your existing systems and data, or you can create a new business application from scratch. In any case, you will take advantage of the rapid development, integration, maintenance, and deployment features of the OutSystems Platform. Service-Oriented Development of Applications In 1 month or less, you will get Composite Applications that are Service-Oriented by design. Just follow the drag'n'drop editors and tools presented by Service Studio to visually compose Business Services, Data Services, and Integration Adapters that otherwise would take several months to glue together. Later, the OutSystems Platform deployment engine will connect your systems and keep track of their dependencies, and your application architecture will grow organically, always remaining easy-to-modify. Page 4 of 16 You can use Service Studio to visually build and maintain Composite Applications that deliver solutions to business requirements by assembling reusable Business and Data Services into new front-ends. Similarly, you can use Service Studio to create your own Business and Data Services by composing business rules and data drawn from multiple sources with your own application data. Using OutSystems Integration Studio, you can also build and deploy custom Integration Adapters to be used to create new Composite Applications. Structure your user's navigation experience. User Interaction Flows While developing applications with Service Studio you will use user interactions flows to describe and keep end-user navigation patterns across the application. Application pages are represented, as well as transitions and actions that take place upon user interaction. In the User Interaction Flow diagrams you can also easily grant or revoke the access rights of multiple user profiles to each of the pages and transitions. Build your composite applications by assembling business services, data services, and your own integration adapters. Moreover, you can use Schedulers to configure the asynchronous execution of Business Services, Data Services, and Integration Adapters. The “1-Click Publishing” process will perform the required dependency checks and transform and deploy all services within your applications according to the appropriate design and deployment patterns. Moreover, OutSystems Service Center provides the necessary management and catalogue services for Application Managers and IT Architects to keep and develop their Service-Oriented Architecture. Drag'n'Drop User Interface Design OutSystems Service Studio lets you design and preview the user interface of your applications using a powerful WYSIWIG (What You See Is What You Get) editor. It offers a wide set of visual elements that you can drag'n'drop into web pages to retrieve, display, and transform information at your discretion, based on your end-user requirements. Web, Mobile Web, and Email Interfaces Visual Composition of Applications - A New Way to Work OutSystems Service Studio is fully based on visual tools that promote a drag'n'drop style of composing applications, rather that the traditional, time consuming coding process. An intuitive Screen Editor, user interaction maps, and a series of drag'n'drop features allow you to easily connect the user interface of your composite applications to independent business, data, or integration services and adapters. And since these applications will always be easy-tomodify, you will be able to improve them later based on user feedback. © 2001 - 2007 OutSystems – All rights reserved. Create your Web, mobile and email screens in a WYSIWYG drag'n'drop editor OutSystems has made it easy to integrate tailored web, mobile web, and email interfaces within the context of Page 5 of 16 one business application. Whether your users require mobile access to online information or regular notifications by email, you will use the same development environment and will reuse the exact same Business and Data Services to serve your users. Visual Design of Business Services OutSystems has championed a common-sense approach to the design of Business rules that is very easy to learn, understand, and share with business analysts, yet powerful enough to shape complex business processes. These rules are designed using familiar constructs like conditions, cycles, nested calls, assignments, queries, and a wide range of other prepackaged or extended visual building blocks. Enterprise Class Business Logic The built-in building blocks and services will save you a lot of work when turning your application into an enterprise class system. These include Transaction Handling, Auditing, Exception Handling, Excel File Handling, Integrated Authentication, and User/Profile Management. Schedulers The Schedulers feature allows you to program longlived batches and any type of asynchronous activities for execution. Behind a simple configuration interface, an advanced scheduling and throttling engine will drive the execution and orchestration of your business services. You can use schedulers to send periodic reports, fire a consolidation process, synchronize data from an external system regularly, or any other longlived batch processing activity. Data Mapping and Composition Designed to be a composition tool for heterogeneous business services and data, OutSystems Service Studio facilitates the whole pipeline of data handling, transformation, and composition, whether you are getting data from one system to send to another or are mixing data from multiple data sources to present in a unified user interface. Data Services OutSystems Service Studio empowers any class of application designer to easily model and handle data easily within your application. Data models are used to drive the development of Business Services and Composite Applications at a very fast pace. Data Modeling Following the visual modeling foundation of OutSystems Service Studio, you can create, model, and integrate persistent data repositories based on standard relational databases. You can do this either by creating new database entities or by reusing existing data sources. In any case, your data can be easily accessed from your business rules without resorting to traditionally complex SQL statements. Data Consistency, Tuning, and Refactoring Whenever you use Service Studio to modify your data model, it will check the consistency of all dependable services and composite applications and issue recommendations or change those automatically to prevent data inconsistency or poor performance. Drag'n'Drop rules, adapters, data, and services to build new business services Design and maintain your data models within your application. © 2001 - 2007 OutSystems – All rights reserved. Page 6 of 16 Integration, Security, and More From security and authentication to integration and language support, Service Studio includes a multitude of features that let you make your application complete, secure, and easy to develop. entire application in one language, and then generate and extract each text element for translation. Integration OutSystems Integration Studio includes a set of integration tools that automate the process of creating integration adapters and transforming them into services that can be assembled using Service Studio as you would any other business logic construct. With the OutSystems Platform, the difficulties of integrating are minimized with a straightforward integration tool and native support for managed web services. Take advantage of a built-in set of tools and wizards to integrate functionality from multiple systems into your applications without resorting to low level API programming and extensive testing. Security and Authentication Extendable Architecture for Easy Integration If certain pages in your application require authentication (Active Directory, LDAP, or Custom) or data encryption (SSL with or without certificates), simply configure your application screens and your applications will run in a secure environment without programming and testing headaches. Instead of developing proprietary technologies, OutSystems has embraced widely adopted technologies, such Web Services, .Net or Java programming, and SQL Server or Oracle databases. OutSystems integrates these robust technologies and enhances them with a unified adapter development framework that you can use to generate Integration adapters that allow you to simply connect to existing systems by discovering existing APIs and data tables. These are wrapped around automatically generated code that is open for customization and adaptation to your reality. Integration Adapters and Extensions Application Level Permissions You can also use Service Studio to define application access rights for each of your user profiles. A powerful and open authentication engine keeps track of and controls every user's authorization levels, granting or revoking access to specific business functions. (1) You start your integration project using Integration Studio together with Microsoft Visual Studio or Eclipse IDEs to generate and fulfill stubs of code that implement the integration component to be used in your application. Set your user profiles access rights and enable authentication and/or encryption using a graphical utility Multilingual Service Studio simplifies the creation of multilingual applications by providing you with a series of tools to generate, extract, and load multiple resource files to be used at runtime to present data and content in multiple languages to your users. You can freely develop your © 2001 - 2007 OutSystems – All rights reserved. (2) Once developed, your component APIs or data services become available from Service Studio. (3) Finally, when you publish the application, the Platform links the adapter implementation (a set of .dll or .jar files) to the application code as generated for the application and deploys everything at the front-end servers just as it would any other component of your application. Once you create and publish the Integration Adapters, they become available from Service Studio for use by Page 7 of 16 application developers just like any other building block. Accessing an external database, an SAP API, or any other system becomes as simple as querying your application database or invoking any of your own services developed inside Service Studio. As with your applications, you automatically get the Dependency Checking and 1-Click Publishing. In the execution environment, the adapters will seamlessly execute together with all the generated code, including connectivity, error handling, and data transformation for interoperability. Visually Consume and Expose Web Services You don't need to be a Web Service guru to create your own Web Services. Consuming and exposing functionality as standard Web Services is a simple task that requires no special skills. Just type in the address of an available service or select the ones you want to make available and that's it. Custom Integration Adapters You don't need to be an experienced System Integrator to connect your SalesForce.com to your Microsoft Dynamics or your Siebel to your SAP. OutSystems Integration Studio automates a lot of the coding for you. OutSystems customers have created hundreds of integration adapters to connect multiple ERPs, CRMs, external databases, EAIs, CMSs, GIS, portals, and many other proprietary technologies using OutSystems Integration Studio. Wizard-Based Adapter Creation If you already have your own Java, COM, or .NET client APIs you can use OutSystems Integration Studio's discovery wizards. These will create all the required stubs of code. Finally, if you need to customize the Adapter to your specific needs, Integration Studio will pop-up Microsoft Visual Studio or Eclipse and let you edit the implementation code. Consume Existing Services Effortlessly Whenever you need to integrate existing Web Services from external systems, just enter the location of your Web Service description (in standard WSDL - Web Service Description Language). OutSystems Service Studio will automatically read the Web Service contract and transform the methods and data structures of the Web Service into visual building blocks that you can use directly inside your applications just as you would any other service or API. Turn Application Functionality into Web Services Making your business functionality available to other applications as standard web services is even simpler than consuming third-party web services. Just select and configure the services you want to expose and the OutSystems Platform will take care of generating, deploying, and publishing standard Web Services. Follow Integration Studio's wizards to automatically generate all the code you need to connect to your existing systems. Reverse Engineer Existing Databases You can also use wizards to discover existing SQL Server or Oracle database tables that will be available to create new applications, just as if they were created by you using Service Studio. You can now combine local and external data sources without requiring complex integration projects. Automatically Connect to SAP If you need to create applications that take advantage of existing data or functionality from SAP, OutSystems Integration Studio brings you the possibility to create your own integration adapters without coding at all. You can mix together a series of existing services to produce very complex application in minutes. © 2001 - 2007 OutSystems – All rights reserved. Page 8 of 16 SAP Adapter Creation Wizard OutSystems Integration Studio supports the creation of your own custom integration adapters to retrieve and submit data to SAP. A simple and intuitive 4-step wizard guides you through the process of identifying the SAP BAPIs (Business APIs) you need for your application. OutSystems Integration Studio automatically generates the source code that connects SAP to your application, mapping APIs and data types. (1) With a single click, you upload the application design over the internet; (2) At the server, a Code Generator combines the application design definitions with information available at the Services Repository and configuration data to produce and optimize a Java or .NET application and the corresponding database creation script; (3) The Platform deployment engine installs the binaries of the application over a cluster of application servers; Follow the SAP wizard to create your own custom adapters. Productivity The OutSystems Platform delivers unprecedented levels of productivity and maintainability that let you create entire business applications in days or weeks, instead of months. Enjoy the drag'n'drop style of development, a fully automated deployment engine, an interactive differences & merge tool, and a groundbreaking visual debugger. All within a single environment that does not require the installation of complex servers and databases at every developer's desktop. Point-and-Click Productivity When you need to deploy an application for testing or even production purposes, OutSystems Service Studio offers the “1-Click-Publishing” feature, which fully streamlines the application deployment process, replacing complex packaging, upgrading, and distribution procedures with a single click. “1-ClickPublishing” generates and compiles the target code of the application, deploys it in every front-end server, and updates the required databases in a single step. © 2001 - 2007 OutSystems – All rights reserved. (4) The deployment engine applies an upgrade script to the database; During the execution of “1-Click Publishing” a lot of automation takes place, from code generation and service dependencies checking to version storage, application, installation, and even database upgrading. Deploy New Versions in Seconds Such an automated build and deployment process enables the changes made to an application to be published in production (or pre-production) in seconds. Changes to the data model, user interface, and data update scripts, as well as verification tests, are done automatically with a single click. Versioning, Upgrading, and Managing Configurations OutSystems Service Center integrates all configuration and versioning information about each application. Instead of imposing additional tools and servers and asking developers to use them regularly, you get your applications stored in Service Center's version repository regularly upon “1-Click Publishing”. As an Application Manager or System Administrator, you can use Service Center to decide which version of your application must be running in your production environment. Page 9 of 16 Upgrade and Rollback Applications in Seconds In the event that you receive an update or new version of an application to put into production, you just need to upload it from Service Center and trigger the deployment of that new version. On the other hand, if you decide to rollback your application to a previous version, just browse the list of existing versions and press the Publish button. The Deployment engine will redeploy that version of the application. In any case, it's a matter of seconds to have the right version of your application running in your production environment. Rollback any of your running applications to a previous version with a single click. Centralized Access Control Management real database, without interfering with your teammates' work. Visual Differences & Merge Just pick any two versions of your application and check their differences using the Visual Differences & Merge utility. OutSystems Service Center includes access control management of all application resources, providing flexible low-level permissions that allow you to assign any developer or group of developers the right to use, modify, or even publish a given application. This helps you to manage large teams of developers with different profiles and administrative privileges, as well as clearly separate the access to the Platform's Build & Change Services from the Platform's Execution Environment. When you decide to publish your own version of an application, you may receive notifications about what has been changed by others and what service dependencies are no longer up-to-date. With that information in hand, you can take advantage of a visual difference and merge tool that is used to rapidly combine everyone's changes. This takes advantage of the Platform's version control service, meaning that the information about what has changed is obtained directly from the central version control service. Continuous Developer Collaboration Seamless Testing & Tuning The OutSystems Platform includes several features that promote constant collaboration across large teams of application developers working together on multiple business functions. These include version control, modification alerts, and even debugging. Although you will conduct all of those activities from OutSystems Service Studio, all runtime activity will be held and controlled in a centralized sandbox environment. You can plug new developers into your project without requiring each of them to install a complete set of tools and servers in their desktop. Remote Personal and Team Sandboxes Each application designer uses a personal server-based sandbox to test his own work before publishing to the centralized version repository that contains the contribution of every team member. A single click is all it takes to create a completely separate runtime environment to test your work in a server, accessing a © 2001 - 2007 OutSystems – All rights reserved. OutSystems Service Studio makes it easy to test and debug your applications. A Visual Debugger displays insight information about your application's behavior, step-by-step, over the internet. As you move forward with the development of your application, you can get instant simulation of query execution results and finally get access to runtime performance reports and tuning suggestions that will let you improve your application's reliability and performance. Distributed Visual Debugger OutSystems Service Studio introduces a breakthrough distributed visual debugger, which allows you to not only follow the step-by-step execution of your application for the purpose of identifying and correcting errors, but also allows you to easily understand the business intent of your application as it executes, as well as pinpoint and correct any existing errors. And you can even do it over-the-internet or over a production environment without interfering with other users interacting with your application. Page 10 of 16 they were part of Service Studio by default. With a few clicks, without leaving your development environment, you can set up a series of services and rapidly compose a new application that orchestrates them. Browse and pick the services you need to build your application Follow, step-by-step, the execution of your application over the internet Design-Time Query Testing Even prior to testing and debugging your application, you might want to simulate the result of the calculation of one specific database query, without even testing the surrounding business logic. Just click the “Test” button in your query editor and you will get live data from your database, allowing you to check whether you wrote the right query or have the required data for testing. Integrated Performance Tuning Reports Once you put any application into production, you will get several performance reports from Service Center that will give you valuable tuning and optimization information for your applications. Moreover, you do not even have to worry about enabling and developing extra frameworks to take those measures. You get it by default, without any extra work and without introducing any overhead to your runtime environment. Service Reuse and Dependency Handling The OutSystems Platform provides flexible and powerful tools to help you share, reuse, and manage services and data among applications. By using the Add/Remove Reference utility built-in to Service Studio you can browse all available services made available to you in your platform installation and pick those you need to build your application. From there on you can drag'n'drop them into your application definition as if © 2001 - 2007 OutSystems – All rights reserved. Share UI, Logic, and Data as Services As you move forward with application development, you may decide to share specific items from your applications for use in other applications, possibly by other developers. Simply select those and mark them as shared services. Once you do that, they immediately get catalogued and are available to other developers. Items of your application may include not only business services but also user interface widgets and data entities. Service Dependency Coordination Once you catalogue a new service, other developers get notifications if the base implementation changes. Again, you get instant collaboration and have your development efforts coordinated from a centralized service. In addition, it's rather easy to act upon notifications. Service Studio automates the process of refactoring the invocation to the programming interfaces of every service, allowing you to dependably update all your applications with just a few clicks. Centralized Services Management and Control The OutSystems Platform is designed to let you scale your ecosystem of applications as it grows in complexity. In fact, as the number of services available for reuse grows, you may want to decide who shall be able to modify and update them, who is authorized to use them inside applications, and even who is authorized to update them. Application Managers and Systems Administrators have the power to control such access rights from Service Center, making sure you can scale and operate your ecosystem of applications and Page 11 of 16 take steps towards a pragmatic Service-Oriented Architecture. open and will integrate smoothly with your choice of infrastructure technology. Packaging and Staging Applications and Services Dual Stack Architecture - .NET or Java The new Service Center console, available with OutSystems Platform 4.0, gives you the possibility of packaging sets of applications, services, and adapters to be deployed altogether as an integrated business solution. As an application administrator, you can coordinate the staging of one large release of your portal, made of multiple business processes, and make sure that all those applications are deployed as if they were a single application, with no downtime and no integration testing required. OutSystems Service Studio is a codeless application development environment that is fully technology independent, which let's you transform every application model into either a .NET or a Java application depending on your choice. At the end, you will always get a fully open, standard, yet well-behaved implementation of your application. Automated Packaging of Complex Business Solutions Sets of applications, dependable services, and integration components can be packaged by a single click into a single file in the development or testing environment. You can decide whether to install the OutSystems Platform over: (a) a Microsoft .NET Framework and Windows Server 2003 or; (b) on a Java Application Server running on Linux. Configure your solutions out of multiple applications. Download and publish groups of application as if they were just one. 1-Click Staging of Complex Business Solutions Once packaged and downloaded, an application or a set of services can be easily uploaded to a production environment. The OutSystems Platform orchestrates the complete deployment of the several services included and their dependencies. Every server side service and component is available to run on top of the selected application server platform. The OutSystems Platform deployment engine will generate and deploy your applications using the widely known and accepted ASP.NET and C# or JSF and Java frameworks. Non Proprietary Technology This dual-stack architecture allows you to choose which installation best suits your business requirements now, and lets you easily migrate it to another technology if needed in the future. If you are an ISV, you have a unique chance to build your value added solutions and deploy for multiple customers with different technology choices. For IT architects, rationalizing the organization's infrastructure technology portfolio is critical to reducing costs and increasing efficiency. The OutSystems Platform includes a unique deployment engine able to generate and deploy both .NET and Java based applications. These target applications are fully Choice of Database Engines You may also decide to use an Oracle or Microsoft SQL Server database server to support your applications. Again, you may decide to deploy your application in either of the supported databases. In either case, you © 2001 - 2007 OutSystems – All rights reserved. Page 12 of 16 can integrate data from any other external database into your application. High-Quality and Standard Target Applications The OutSystems code generator optimizes every building block in your application for optimal and wellbehaved execution, including query optimization (complexity, number of retrieved rows, indexes), page size, session state size and caching, among others. As an IT Architect, you don't have to be worried about applying sophisticated design patterns to every new application under development. The code generator uses and optimizes such patterns with every application, regardless of the developer. Standards Compliant All the design patterns that are used by the OutSystems Platform code generated take advantage of open standards like ASP.NET, JSF, XML Web services, cross-browser XHTML, JavaScript, XML, and emerging “hot” technologies like AJAX. Immediately, your applications will interoperate well with other systems and stay in-line with your architectural guidelines. generated applications. In fact, if you choose not to use the Platform, the generated applications can be manually detached and deployed in another environment without resorting to the OutSystems Platform tools and services. Readable Generated Code At OutSystems, we take care of protecting your investment in our technology. If you take a close look at the source code generated by the OutSystems Platform, you will notice that all modules of your application are open, readable, and documented just as if they were coded by hand. No Vendor Lock-In We don't want you to be locked into yet another proprietary technology and think twice before using our products just because you're afraid to become locked-in. All applications created and maintained with the OutSystems Platform can be extracted and deployed on top of a standard Java or .NET application server without using any of the built-in deployment engines. Develop once, deploy everywhere. Constantly Adapt to New Technologies and Trends Web services, AJAX, .NET, Linux, Windows, or Oracle. Which product or organization will come out next with new standards and upgrades? Using a technology independent platform also means that technology updates can be faster. The OutSystems Platform evolves pragmatically whenever we can help our customers to improve their delivery options and standards compliance. Once you get a new version of the OutSystems Platform, you always get new deployment options, from operating systems and database versions to new architectural standards. Designed for Detaching Unlike proprietary technologies and closed frameworks, the OutSystems Platform generates optimized open source code and doesn't require any runtime engines or interpreters to operate the © 2001 - 2007 OutSystems – All rights reserved. Readable target code in C# or Java Scalability and Performance The OutSystems Platform is designed to scale as your applications grow more complex. In fact, it grows smoothly by just adding additional servers to your execution environment. You also get an array of advanced configuration and monitoring features that allow you to tackle scalability, security, and performance issues, from a single management console. Page 13 of 16 Designed for Unlimited Horizontal Scalability The OutSystems Platform is designed with a strong focus on performance and scalability. Its architecture supports a wide range of installation options, ranging from departmental applications with few users to large enterprise-wide deployments supporting upwards of 1 million users. To achieve this goal, the OutSystems Platform distributed architecture supports load balancing and removes single points of failure in the execution environment. Performance Reports Performance issues are normally hard to detect and fix. And because they normally appear only in production, the consequences can be devastating. The OutSystems Platform pinpoints performance issues in real-time, by asynchronously tracking the execution times of all queries, web service invocations, screen renderings, and schedulers. Browse runtime reports to understand how your applications perform. Design-Time Validation Just configure more front-end servers and add them to your cluster. All required applications are automatically installed and configured. The OutSystems Platform distributed architecture consists of (1) a deployment server that performs all code generation, configuration, and versioning updates and automatically deploys applications to several (2) front-end servers that are accessed by end users via a load balancer. Those front-end servers can be spread across various networks (Internet, Intranet, and Extranet). Adding new front-end servers to your installation is a simple installation and configuration process. Once you plug a new server into your execution environment, all your applications are automatically deployed, instantly. And you get scheduler and asynchronous logging services. Performance & Reliability Management The OutSystems Service Center management console features a series of unique performance monitoring and analysis tools that give you an overview of all the services running at each server, as well as statistics about the performance of every component of your applications. OutSystems Service Studio includes powerful verification tests that ensure that your applications are correctly designed even before testing them or moving them to production. Design-Time validation reports include a lot of information about potential errors, performance bottlenecks, or dependency inconsistencies. Performance tips are issued to prevent scalability issues. Code Containment and Optimization All the code generated by the OutSystems Platform enforces a series of rules and optimizations that make sure your new application behaves correctly and avoids scalability or reliability issues. OutSystems code generators use the following rules and optimizations: Optimized page size - Reduces bandwidth bottlenecks; Database fetch size containment - Avoids unnecessary network roundtrips and overload; Database connection pool containment Avoids excessive use of operating system and network resources; © 2001 - 2007 OutSystems – All rights reserved. Page 14 of 16 Adapter timeout containment - Eliminates the risk of using custom coded components that affect the performance of the applications; Recursion containment - Reduces the possibility of letting business rules execute indefinitely; Asynchronous logging - Ensures that no logging activity will affect the core user and business events; Runtime Monitoring If you are an application manager or system administrator, you can also use Service Center to check the runtime activity status of your application services and take immediate action to recover or reconfigure your system. If you already have your own monitoring and administration system, you can easily integrate the information provided by the OutSystems Platform to get automatic notifications when problems occur. Scheduler Throttling - Ensures that excessive loads of badly programmed scheduled activities do not take all the processing power; Transactional Deployment - Ensures that your applications are deployed correctly and that you don't get incompatible versions of your application components running side-by-side; Multi-tenant data Isolation and containment Lets you operate multiple applications in perfect data isolation. High Availability, Fault Tolerance, and Instant Installation You don't need to be an experienced webmaster or enterprise architect to set up your applications for high availability and fault tolerance. With the intuitive administrative interface of Service Center, you can configure multiple front-end servers to support one Platform installation. Filter and review application activity logs from Service Center. Runtime Auditing, Logging, and Reports OutSystems Service Center includes a log monitoring and browsing feature that you can use to understand any application's misbehavior, error condition, or performance data. You can also aggregate the same data in consolidated reports to understand which pages, queries, or web services are performing badly and provide those reports to application developers so that they can tune their applications from live data. Once the servers are configured, the OutSystems Platform deployment engine will deploy every application in each of your servers. No user data or session information is stored locally in one single server. This allows you to distribute any user request to any of the servers, increasing the redundancy and availability of your system. In case of a catastrophic failure, you can safely replace any of the servers. Once you configure a new server, the OutSystems Platform deployment engine automatically starts the installation of the applications to process more user requests. Strong Security & Traceability Once you deploy your applications, you get instant security and auditing. Every OutSystems application is created and configured to generate logging upon relevant events like performance warnings, unhandled application errors, or unexpected/unauthenticated user access. With the OutSystems Service Center, you can follow the application execution logs online or extract aggregated reports to decide on changes to your applications. © 2001 - 2007 OutSystems – All rights reserved. Page 15 of 16 OutSystems US OutSystems UK OutSystems Benelux 303 Twin Dolphin Drive - 6th Floor Redwood City - California 94065, USA Tel: +1 650-632-4299 [email protected] Castle Hill Windsor SL4 1PD, UK Tel: +44 1753 839 499 Fax: +44 1753 831 113 [email protected] Planetenbaan 16 3606 AK Maarssen, The Netherlands Tel: +31 (0) 346 583 000 Fax: +31 (0) 346 590 201 [email protected] OutSystems Spain OutSystems Portugal Intionis, C/ Cedaceros 11, 2ª Planta 28014 Madrid, España Tel: +34 91 369 00 59 Fax: +34 91 369 00 56 [email protected] Rua Central Park 6, 2A 2795-242, Linda-a-Velha, Portugal Tel: +351 21 4153730 Fax: +351 21 4153731 [email protected] © 2001 - 2007 OutSystems – All rights reserved. www.outsystems.com [email protected] © 2001 - 2007 OutSystems All rights reserved. Page 16 of 16