Join us for a free webinar on Tuesday, August 31, 2010 at 11:00 AM – 12:00 PM CDT

This webinar deep dives into the new Adobe Flex and Google Web Toolkit (GWT) scaffolding options that are available in MyEclipse for Spring 8.6. We’ll cover the following:

– How does it work? See how to quickly generate working GWT and Flex applications from existing DB tables, Java Beans and JPA entities in a matter of minutes.
– What gets generated? One of the biggest learning curves is understanding what gets generated – we’ll do a deep dive into the generated artifacts to help users understand what exactly comes out of MyEclipse for Spring.
– How does it compare to other GWT/Flex scaffolding technologies?

Reserve your seat at https://www2.gotomeeting.com/register/691323002

Register for this webinar if you want to see how MyEclipse for Spring (ME4S) is delivering unprecedented Rich Internet Application scaffolding options to the Spring Community.

For developers who are looking to learn new technologies like Flex or GWT, MyEclipse for Spring 8.6 allows them to quickly create their own contextual examples that they can then reference while getting up to speed on the new technology. Meanwhile, developers who are experts in these technologies can stop worrying about the boilerplate code, and let MyEclipse for Spring take care of all the mundane, repetitive tasks.

Bonus Offer: All webinar registrants will receive a 30% discount off of MyEclipse for Spring – just for registering! Visit https://www2.gotomeeting.com/register/691323002 to register and get your coupon code today!

Bookmark and Share

When we hear the term application modernization, the immediate image that comes to mind involves modernizing twenty-five year old critical business applications written in COBOL. While this is still true and represents the bulk of work in this field, there are other growing areas of application modernization that businesses undertake. These include migrating more recent heavy-weight legacy applications based on technologies like JEE and Oracle Forms to the newer light-weight Spring Framework. Another emerging modernization area involves moving from older web user interface technologies like JSP to newer more robust technologies like Spring Web Flow, Adobe Flex, and Google Web Toolkit (GWT). Modernization also involves updating the web layer to support mobile devices like the iPhone. Regardless of the application modernization area, MyEclipse for Spring provides tooling to support a rapid migration strategy.

Modernizing Existing Legacy Systems

COBOL Systems

Interestingly, reading through the plethora of online technology sites, it’s easy to get the impression that today’s information systems are almost all web applications using Java or .Net on the back-end. The reality, of course, is that the bulk of critical business applications remain in the world of COBOL – and there are no signs those systems are going to change dramatically in the near term. What is changing with an elevated sense of urgency, however, is the recognition that businesses need to define an application modernization plan that preserves and renovates their critical business processes while at the same time reducing the operating and maintenance cost of their aging existing systems.

From a high level perspective, the plan involves starting with an “as is” analysis of the current system – e.g., understand the complexity, structure, business rules, nature, and intended use of what is typically a loosely understood and largely undocumented system. The next major step involves defining the path for the “to be” system. In most cases, the modernization migration path involves a practical incremental approach. In this incremental approach, we start by defining, publishing, and using key business functionality from the existing system through web services. Then, we develop individual functional areas with Java/Spring and migrate the application in functional blocks in a timeframe that the business and technical teams can handle.

Oracle Forms Systems

The process for migrating from an Oracle Forms system to a Spring Framework system will be similar to the COBOL legacy system migration strategy. However, the migration effort should be easier due to a probability that the system software will be understood for the most part and has documentation. The functional areas may be a little tricky to separate as Oracle Forms relies heavily on PL-SQL for implementing business and validation logic. For Oracle Forms, the web services will usually be thin wrappers that call the PL-SQL stored procedures.

JEE Systems

The process for migrating from a JEE system to a Spring Framework system will be similar to the COBOL legacy system migration strategy. However, the migration effort should be easier due to a probability that the system is understood for the most part and has documentation. Also, the developers will already understand Java.

Using MyEclipse for Spring in the Migration Plan

MyEclipse for Spring provides tooling to accelerate the “to be” migration strategy – for both scaffolding the web layer and using the web services to access the existing legacy system, as well as, developing the functional areas for migration to Java/Spring solution.

Incremental Migration – Using Web Services

After web services are defined and exposed, we use the WSDL import capability of MyEclipse for Spring to quickly generate the Spring and JAX-WS infrastructure to support calling the web services. Once the web service infrastructure is generated, we use the MyEclipse for Spring scaffold capability to quickly scaffold any of a variety of web layer implementations (e.g., Spring MVC, Spring Web Flow, Adobe Flex, GWT, and iPhone) for any of the Java Beans created during the WSDL import process.

Incremental Migration – Developing Spring Services

Another feature of the WSDL import process is the generation of “contract-first” Java package shells. When the WSDL import process completes, we have code shells for Spring Services and JUnit test classes that would be implemented and tested by Java developers. MyEclipse for Spring also includes code assistants to help developers create and maintain Spring annotations for their Spring Services. Once the code is completed and the business is ready, only one line of code needs to change to switch from using the web service provided by the existing legacy system to the new Spring Service.

Modernizing the User Interface

For the desktop

This area of modernization has become more popular as we see robust RIA solutions mature in the marketplace (e.g., Adobe Flex, Spring Web Flow, Google Web Toolkit, etc.). MyEclipse for Spring simplifies this modernization process through its scaffolding capabilities. Starting from a variety of sources including data schemas, JPA entities, and Java Beans, developers scaffold the web layer with the new user interface technology. From there, developers use the scaffold as either a starting point for building the complete user interface against the back-end or as a reference implementation template for coding the user interface with the chosen technology.

MyEclipse for Spring Scaffolding Wizard

For mobile devices

Similar to its help for desktop web applications, MyEclipse for Spring simplifies modernization process for the iPhone through its scaffolding capabilities and for other mobile devices with small changes to context files and style sheets. Again, developers use the scaffold as either a starting point for building the complete user interface against the back-end or as a reference implementation template for coding the user interface with the chosen technology

iPhone Scaffolding with MyEclipse for Spring

Try it Yourself

MyEclipse for Spring is available for a free, 30-day trial. Accelerate your application modernization process by downloading from http://www.myeclipseide.com/module-htmlpages-display-pid-4.html.

Bookmark and Share

Although there are several important technical areas of concern when developing production-ready software, its success fundamentally depends on having running code that implements the original conceptual ideas and functional requirements.  On the surface, this seems to be a straight forward and well understood problem to solve.  Talk to the users (or their proxies, the business analysts) to capture the conceptual ideas and requirements – then translate them to design and code.  How difficult can that be? Seriously, the more complex and interesting problems will involve addressing the technical concerns of scalability, availability, maintainability, security, etc – right?

Of course, those of us who spent decades in this field learned first-hand that moving from conceptual idea to running code that reflects the functional requirements involves a lot of moving parts.  This includes working with a diverse set of people and a lot of “I probably won’t know or understand what I want until after you build it” reality, which make it a very complex problem to solve.  The field of software engineering does a nice job of breaking down the basic process elements for attacking the problem.  Regardless of the development methodology you use – from the older waterfall through the newer agile variations – they all involve some level of define, design, build, deploy, and test processes.

Bridging the Disconnect between Conceptual Design and Running Code

Looking back at years of real projects and the lessons we can take away from them, it becomes apparent that we have to address key failure points as early in the software development lifecycle as possible.  The first failure point is typically traced back to vague, misinterpreted, and missing requirements.  Its downstream impact is increased time and money required to address the disconnect from what the user actually wanted and the delivered application, which kills the benefits projected and in effect reduces the success of the project.  Typically, these disconnects only come to light after the application is built and the user actually uses the running code.  This is the genesis for the area known as functional prototyping.  The premise is simple enough – inject the opportunity to validate the functional requirements of the system before actually investing the time and money to build the system.

This area of software engineering has had some level of success, but continues to suffer real uptake in the industry.  This is mainly due to the time consuming nature of creating what is essentially a throw away mini-project during the conceptual phase of development using the current tools available in the market. Pure agilest will also argue that functional prototypes become less needed as you reduce the application release cycle times. In essence, these mini-application releases serve the same purpose while also producing usable code.  On the surface, this seems a reasonable argument.  Interesting enough, the argument can be flipped to say non throw away functional prototypes embed the value of agile principles – focus on producing software often and early – within the waterfall methodology for the complex systems.

Using Scaffolding to Create Functional Prototypes

This is where MyEclipse for Spring provides a modern light-weight solution that makes sense for both simple and complex projects.  Use the scaffolding capabilities to produce quick functional prototypes during the conceptual phase of the software development life cycle.  The tooling provides full web application scaffolding from a variety of sources including data schemas, JPA entities, Java Beans, and WSDLs.

The most common functional prototyping approach is validating a functional area defined by a set of tables in the data schema.  In this scenario, a business analyst with minimal technical skills could run through the scaffolding wizard and generate a working CRUD web application for the selected tables.  However more often, a business analyst or set of business analysts are paired with a developer to quickly validate the domain and the expected functional interactions.  The beauty of this approach is the minimal time required for the users (or more likely, their proxies the business analyst) to validate and update the functional requirements.  It typically takes minutes to scaffold, followed by short iterations to update the domain and the functional requirements.

Functional Prototype created with MyEclipse for Spring

Another common scenario involves validating functional requirements while using web services.  Injecting scaffolding into the process involves two steps.  In the first, the business analyst or paired developer imports the WSDL to generate the back-end service and data objects.  In the next step, the business analyst or paired developer scaffold the web layer from the generated Java Beans that represent the web services domain objects.  Again, this light-weight approach takes minutes to create the functional prototype to be used to validate requirements.

Perhaps the best part of using MyEclipse for Spring to scaffold and validate functional requirements is that the scaffold can be re-used and extended in the build phase of the project.  In essence, the time invested during the conceptual phase to validate the functional requirements with scaffold prototypes is gained back from reduced build time required – and you have visually validated the functional requirements before starting the build phase of your software development life cycle.

Try it Yourself

MyEclipse for Spring is available for a free, 30-day trial.  Start creating your own functional prototypes by downloading from http://www.myeclipseide.com/module-htmlpages-display-pid-4.html.

Bookmark and Share

One of the masterminds behind the GWT+Spring scaffolding support in MyEclipse for Spring wrote this article that describes the design philosophy and the GWT application architecture. The article includes some great sample Java/GWT code and a great explanation of how all the pieces fit together. As it turns out, it’s not magic after all.

Read the full article at http://www.dzone.com/links/r/gwt_and_spring_its_not_magic_after_all.html

And, if you want to see our GWT scaffolding in action, join us on August 31st for a free webinar.

Bookmark and Share

This tutorial illustrates how to quickly generate a working, Spring-based mobile web application that is served alongside a desktop application. This step-by-step guide is based on the production release of MyEclipse for Spring 8.6, which includes support for scaffolding a Spring MVC app that’s also skinned to look like an iPhone application. However, with this tutorial, we illustrate how to add other mobile handsets to your list of supported mobile platforms, including Android and Palm Pre. The same concepts employed here apply when adding support for Blackberry, iPad or any other browser you want to treat differently.

Read the full post at http://bit.ly/dquUGG

Bookmark and Share

According to feedback from our users, one of the biggest learning curves with MyEclipse for Spring is understanding everything that gets generated.  And, when you consider all of the new scaffolding options (Spring Web Flow, Spring-Flex, GWT, iPhone Web) that are now supported in MyEclipse for Spring 8.6, there’s now even more to understand.  Our primary focus has been on making the product rich in code generation functionality and easy to use, but we’ve learned from recent customer feedback that we need to do a better job of explaining exactly what comes out of MyEclipse for Spring.

The MyEclipse for Spring 8.6 Reference Guide now contains a new section called Scaffolding Blueprints.  For each supported web client (Spring MVC, Spring Web Flow, Adobe Flex, GWT, and iPhone Web) and application layer (web, service, domain and data access), the blueprints provide (1) a blueprint diagram and  (2) an inventory of generated files.  Many of the 8.6 early access users have reported that these blueprints have been a tremendously helpful reference and provide a great jumpstart for understanding the capabilities of MyEclipse for Spring.

Read the full post at http://bit.ly/dAFb1m

Bookmark and Share

We are happy to announce the launch the production release of of MyEclipse for Spring 8.6.  This is the second iteration of the joint venture between Skyway Software and Genuitec, which delivers powerful commercial tooling additions to the MyEclipse Pro product.  MyEclipse for Spring is focused on further simplifying the delivery of standards-based applications that support the Spring platform on the back-end, and a wide variety of front-end technologies including Spring MVC, Spring Web Flow, iPhone Web App, Google Web Toolkit (GWT) and Adobe Flex.

Our product has a heavy emphasis on assisting developers with bootstrapping their projects quickly, building out the repetitive boilerplate code, and using existing technology assets without having to learn a new language or a new development paradigm.   We are also focused on giving developers options for the versions of technologies that they support to include those technologies that are in the widest production use today.

Our Philosophy
The MyEclipse philosophy has always been to offer an overwhelming value proposition to developers, giving them an affordable commercial option that leverages open source technologies and standards.  MyEclipse for Spring continues in that tradition by incorporating the software generation capabilities that have been developed by Skyway Software over the past 4 years.

MyEclipse for Spring is available for $199 a year and can be purchased or evaluated here.  As always, current MyEclipse for Spring subscribers can utilize the update at no charge.

A full feature comparison of the various editions of MyEclipse can be found here.

Key MyEclipse for Spring Features

* Apache Tomcat / Derby Sandbox
* Spring Project Bootstrapping
* Scaffolding Wizard
* Spring Security Wizard
* Spring Services from WSDL
* Spring Code Assistants
* Full Java Profiler
* Ajax Tools
* Web Services Tools

You can see many of these features in action by visiting our YouTube channel here.

Our tutorials and documentation can be found here.

Scaffolding Wizard

The Scaffolding Wizard is the feature that our users value the most.  This feature has one goal: to deliver reusable software assets to developers that are written the way they would write them, using inputs to the process that exist in their environment already.

Skyway has a long history of enabling companies large and small to deliver Java-based software components that follow industry standards and best practices.  Over many years of customer interactions, we have found that while there are factions of developers who will adopt the use of Models like UML, or invest in a new DSL or RAD environment, there is a much larger pool of developers who are interested in generating a set of software components at key points in the project lifecycle and then completely walking away from the generation tooling on that project.  If that is you, MyEclipse for Spring is your tool.  We give you options to generate certain “layers” of technology like the JPA layer, the DAO layer, Service Layer, or Web Layer, and we support re-running the wizard and picking different combinations.  Or, if you like, you can generate a full Create/Read/Update/Delete (CRUD) based application that is ready to run.

We give several options for what to start with, and even more options for what you may want generated.  Within a few moments of downloading the software, you can take your own data model and generate a running Spring-based application with a Spring layered back-end (Service, DAO, Domain) that uses JPA/Hibernate by default, and that wires it all together to interact with generated front-ends for JSP, Flex, GWT and several others. You can target Spring 2.5 or Spring 3.0, and you can use the latest GA versions of Flex and GWT.

Here is what we support:

Inputs
* Java Beans
* JPA Entities
* RDBMS tables
* WSDL/Schema

Outputs
* JPA Entities
* Spring DAOS
* Spring Services
* JAX-WS Services
* Spring MVC Controllers
* Spring Webflow
* JSP Pages
* Spring Context Files
* Web.xml
* Sitemesh Configurations
* Logging
* GWT
* Flex
* iPhone Web App
* JTA
* And many more…

Check out the new CRUD Scaffolding tutorials in the Eclipse Help.

Spring Security Wizard

The Spring Security Wizard gives developers the ability to quickly enable and configure Spring security on a project.  This wizard guides you through your options, allowing you to choose from three Security implementations, including LDAP, RDBMS, or “In Memory”.

You can also choose the Services and URLs in your project to secure and identify which pages to use for logging users into the system.  If you choose LDAP, we collect your LDAP server information and inject that into the Spring configuration.  For RDBMS, we also generate JPA Entities and DAOs for Users and Authorities which gives you a quick persistence layer to start working with immediately.  You can also run these Entities through the Scaffolding Wizard to generate a Web and UI layer to administrate Users and Authorities if you wish.

Inputs
* Package
* DAO or LDAP
* Page URLs
* Services – from Context Files
* Login Success Page, Logout Success Page
* Spring Security Configuration Files
* JPA and DAO for Users and Authorities
* LDAP Configuration

Outputs
* Spring Security Configuration Files
* JPA and DAO for Users and Authorities
* LDAP Configuration

Check out the new Spring Security Scaffolding tutorial in the Eclipse Help.

Spring Services Wizard

The Spring Services Wizard allows developers to use WSDL documents that describe a Service and Data Model to quickly convert that definition into a Spring Service that is configured to be integrated with CXF, a popular Apache Web Services technology.

If you have a WSDL document (Contract) and you need to implement that Service as a Spring Service, this wizard is a nice option to get you started.  You can also use the generated Web Service client to invoke the Service at its original endpoint URL from within your Spring application.

Check out the new JAX-WS Web Service tutorials in the Eclipse Help.

Spring Code Assistants

A completely new tooling option in 8.6, the Spring Code Assistants are a new set of editable views in your Eclipse environment that give you the ability to quickly configure the Spring beans that are open in your Java editor.  The Spring Framework includes a powerful set of annotations which greatly enable the process of wiring up your Java to the Spring container.  The Spring Code Assistants provide a contextual UI which makes it very easy to choose your options for these annotations and guides you in the process with contextual help.

Whether setting your Transaction attributes or wiring your JAX-WS Web Service up with the correct set of annotations, these new assistants provide a real-time code manipulation experience that makes the task easier for experienced Spring developers, or for those who are just getting acquainted with Spring.

Check out the new Spring Code Assistant tutorials in the Eclipse Help.

How to Get Started
We are excited to launch MyEclipse for Spring 8.6, and we value your feedback.  Please download the product, give it a try, and let us know what you think by posting on our forums here.

We are confident that you will find tremendous value in a very reasonably priced product and that using MyEclipse for Spring will enable you  to explore and build applications that utilize cutting edge technologies and techniques that would have taken a much larger investment prior to acquiring our tool.

Bookmark and Share

Production release delivers unprecedented Rich Internet Application scaffolding options to Spring Community

Genuitec, LLC, a founding and strategic member of the Eclipse Foundation, and Skyway Software, an expert Spring development solutions company and SpringSource Certified Solution Partner, today announced the production release of MyEclipse for Spring 8.6. The latest release expands upon a set of advanced accelerators for Spring development, providing new options for rapidly generating Adobe Flex, Spring MVC, Google Web Toolkit (GWT), Spring Web Flow and iPhone Web applications. The release also introduces a new set of Spring development editors, Code Assistants, that facilitate the annotation-based development of Spring and JAX-WS artifacts.

“The focus of this release is to extend the productivity benefits of our Spring scaffolding capabilities into the development of Rich Internet Applications. By adding support for the rapid development of Flex and GWT front-ends, we’re giving our users more options and more flexibility,” said Todd Williams, vice president of technology for Genuitec. “Reusing existing assets like database tables and JPA entities in the development of new application front-ends has never been easier.”

Read the full press release here.  Download the free 30-day trial of MyEclipse for Spring here.

Bookmark and Share

This week Genuitec and Skyway Software released the second milestone (M2) of MyEclipse for Spring 8.6, which includes scaffolding for Google Web Toolkit (GWT) applications. With this new release, you can now generate full ready-to-run GWT applications from your domain model (i.e. DB tables, Java Beans, or JPA Entities). Some of the most interesting aspects of the new capability: GWT 2.0.4, GWT Best Practices, Application Layering, and Spring 2.5/3.0 Support.

Read the full post at http://bit.ly/9ydV0X

Bookmark and Share

All Spring Web Flow Editors are not created equal.  The purpose of this post is to outline some of the key differences between the Spring Web Flow Editors found in SpringIDE and MyEclipse for Spring.  I’ve also included some screenshots to further illustrate how working with a Flow Editor that is intuitive and feature-rich can make all the difference when developing applications with Spring Web Flow.

Read the full post at http://bit.ly/9nmb2X

Bookmark and Share