Developer

OutSystems' Agile Platform: The IDE of my dreams

Get in-depth details about OutSystems' Agile Platform, including information about deployment, security, data binding, project management, and more. Justin James recommends checking out the tool if you're working on typical Web applications, particularly of the data driven variety.

Miscellaneous items of note

Deployment

Deployment is so easy that it isn't funny. Pick a server to deploy to and tell it to deploy. You can go to the server if you need to and republish a previous version; this will roll back the application, including the data model (but not delete the data that was entered in the meantime). In addition, the Agile Platform automatically handles load balanced scenarios; you do not have to concern yourself with issues such as session sharing between servers.

Security

Overall, the Agile Platform includes a ton of security features. Throughout the entire system, there is control over who can do what, from people on the development team all the way through what different users of the applications can view. At no point do developers touch the data, which is important. The system automatically takes care of the big issues (although hardly the only issues) of SQL injection and cross site scripting attacks.

Job market and user community

OutSystems has put together the basis for a very strong user community. Even better, this community is more than just a place for people to help each other out; it is also a job market.

As you progress through the courses in the OutSystems Academy Web site, your community profile gets marked with your accomplishments and certifications. This makes it possible for companies to find people who meet a guaranteed minimum level of training for their projects. It also helps you as a potential worker to prove that you are up to snuff.

Though taking online training is never a substitute for real-world experience, I think that this is a novel approach that will be a big help. Miguel noted that their partner program has grown substantially, with roughly 40 partners now, four of whom are in the United States.

Project management

I really like the way that the Agile Platform incorporates the full cycle of continuous improvements that Agile proponents espouse. From the beginning of a project, you gather your up-front specifications to create a "timebox" estimate. The tools provide a "sizing" system where you specify what kind of work needs to be done (for example, are you making a login screen or a contact us form?) and roughly how complex it will be. From there, the tool is able to provide a sizing estimate that Miguel says is pretty accurate; because the system is really good for standard work, they are able to provide a pretty good guesstimate of how long something should take.

Project deployment is a joy. And once work is published, it is very easy to solicit feedback. Users can click on the screen and provide feedback; as you review their comments, it will highlight for you exactly what part of which screen the user was commenting on, which makes it much easier to understand the comments.

Application monitoring

The server system provides some nice tools to get an idea of how your application is doing. It includes a listing of each page view and how long it took, what calls you are making to Web services (and how long they take), and so on. It even includes a slow query report to help you quickly identify database bottlenecks; typically, it indicates that additional columns may need to be indexed.

SMS gateway

The Agile Platform has an SMS gateway built in. If you have been wondering how to enable your applications with SMS (for example, respond to TXT messages or send them), the Agile Platform can enable this. You will need to tether your server to an SMS capable device such as a cell phone, but once this is done, working with the SMS system is quite easy. Miguel and I worked through an example of a simple application that responds to queries sent via TXT to search for data, and I was extraordinarily impressed with how simple it is to work with.

Conclusion

The Agile Platform is a truly unique idea in the world of development tools. By providing the Integration Studio, it addresses the common concerns about systems that promise "no more hand coding." At the same time, the Service Studio really does present a visual metaphor on top of programming that makes a lot more sense in many situations than plain text source code does. I really liked the integrated workflow, particularly deployment (and the rollback functionality), and the fact that it already takes care of scale out scenarios, security, and other common headaches. Best of all, the problems that I traditionally have had with various systems that tie data to applications are simply not here.

Is the Agile Platform for everyone? No, it isn't. But for developers working on typical Web applications (particularly of the data driven variety), I believe that the Agile Platform should be seriously evaluated for use.

J.Ja

Disclosure of Justin's industry affiliations: Justin James has a working arrangement with Microsoft to write an article for MSDN Magazine. He also has a contract with Spiceworks to write product buying guides.

---------------------------------------------------------------------------------------

Get weekly development tips in your inbox Keep your developer skills sharp by signing up for TechRepublic's free Web Developer newsletter, delivered each Tuesday. Automatically subscribe today!

About

Justin James is the Lead Architect for Conigent.

11 comments
16807
16807

Having used outsystems in the wild, I cannot envision a serious software developer who is able to write such statements without having also been a paid shill.


That is all.

Jaqui
Jaqui

like what the system requirements are.

Justin James
Justin James

Is this something that you could use? Or do you think it takes away too much control? J.Ja

ElTel
ElTel

What about pricing?

maaraujo
maaraujo

Hi Jaqui, You can find the OutSystems requirements in the trial download page, but here they are: Microsoft Windows Server 2003, Windows XP Professional or Windows Vista Home Premium Business, Enterprise or Ultimate; Microsoft SQL Server 2005 (Microsoft SQL Server Express 2005, will be installed if needed); Pentium IV-compatible 2GHz processor with 2 GB of RAM; 200 MB of hard-disk space (1GB recommended, depending on third-party software requirements; Regards, m

PedroOliveira
PedroOliveira

Hi Jaqui, You're right! Currently you can only find the detailed system requirements in the registered area of the OutSystems Agile Network at http://www.outsystems.com/network. We'll try to make it more visible ASAP. In the mean time you can have an overview of the requirements for the Platform trial at http://www.outsystems.com/trial. These only include the requirements for .NET stack and not those for the Java stack. Best Regards, Pedro Oliveira

skykeys
skykeys

Justin, I've been dabbling for a while with AlphaFive, and I really like that IDE. I just came across this post regarding Outsystems, which I am not familiar with. Can you summarize the differences between the two platforms for me? I see that there is a big difference in pricing models, but that may or may not equate to the same level of difference in functionality. From the little bit I've read about Outsystems so far, it reminds me somewhat of the late great Forte application development platform. Forte was much more than just an IDE - it provided a full application deployment and management environment; although, it was designed primarily for distributed client-server apps, and was adjusting to the Web world when it was acquired and ultimately wasted by Sun Microsystems. So anyway, if you could write up a short comparison of these two products, I think it would be a great help. Thanks, Lou

Stefan_Meier
Stefan_Meier

I have been using the Agile Platform for over a year now and I can tell you that yes, it takes some control away - but I am happy about it. That's because it leaves me in control where it matters - modeling the database & business processes and designing the interfaces. It urges you to some extent to adhere to patterns in your development style and nicely supports naming/coding conventions, good things that have helped me during various different projects.

PedroOliveira
PedroOliveira

Hi Terry, The pricing of the Agile Platform is based on the number of named or concurrent end users using the applications delivered with it. As a reference, the price per named user is around $10 per month in the Basic edition or $20 per month in the Professional edition. Per concurrent user is recommended if you have a large or uncountable user base. For the details for your specific scenario feel free to contact us at info@outsystems.com.

cgalves
cgalves

Hi Tangaloor, We do also offer a per concurrent user pricing model. This model is tailored for a large or uncountable user base. We believe that this model provides a much finer grained licensing metric than a CPU model. Our customers slowly increase their license as they grow their Agile Platform application portfolio providing a much smoother pricing model than we could achieve with a per-CPU approach. Looking at the alternatives you mention, I?d like to highlight some of the capabilities of the Agile Platform that go well beyond pure application development: - Release Management and Deployment Automation (Demo at http://www.outsystems.com/EvaluationCenter/Demo.aspx?SelectedMovieFolderId=4506) - Performance Management and Optimization (Demo at http://www.outsystems.com/EvaluationCenter/Demo.aspx?SelectedMovieFolderId=4558) - Team Management and Access Control (Demo at http://www.outsystems.com/EvaluationCenter/Demo.aspx?SelectedMovieFolderId=4527) And take a look at our complete feature list at http://www.outsystems.com/goto/agile-platform-editions. Checkout the detailed datasheet. There you?ll find a series of unique deployment, manageability, collaboration, and change management capabilities that you might consider when comparing the Agile Platform to other alternative technologies. In addition you will gain some insight into the requirements to integrate individual tools to support an Agile delivery model. Hope this additional information helps! Carlos Alves OutSystems

Tangaloor
Tangaloor

This seems a little extortionistic when you consider the competition. Yeah, you can develop more rapidly, but is it really worth the cost when I can develop pretty quickly in Ruby-On-Rails and have basically no cost associated with the development technology? Or develop and deploy for free with Weblogic and pay a $2600/CPU/year licensing fee, but not have to tell you how many customers are accessing my site? I can see this sort of pricing model with something like Microsoft Exchange, where they've written and provided the actual application code that the users are using, but this is a product that provides a coding and deployment framework and is running our custom applications. Please tell me you have a different pricing model than this, too.

Editor's Picks