WaveMaker API Designer brings API-driven development to custom-built enterprise applications

November 20, 2014

APIs have evolved from just being the building blocks of an application to become the core part of a business strategy of an enterprise.  Marc Andreessen’s words – “Software is eating the world” – is true for macro level business changes, but the real enabler for the software are the APIs working silently, behind the scenes to connect apps and devices together. Forrester calls this as “APIs become the digital glue” and lists it as a top technology trend to watch for 2014-16.  In the modern digital world, APIs have become the fulcrum for both business and the apps that drive the business.

Characteristics of an API

In API lifecycle there are 3 primary roles: API Publisher, who designs and deploys the API, API Gatekeeper, who manages and monetizes the API and API Consumer, who discovers and integrates with the APIs. Each of these API roles have multiple functions associated with them and those functions define the characteristics of the API. (See FIG-1)

FIG-1: API lifecycle roles and their functions

FIG-1: API lifecycle roles and their functions

WaveMaker Studio enables app developer to play the role of an API Publisher and API consumer, within the context of application being built. The role of API Gatekeeper is exercised in WaveMaker Gateway, a module that is planned to be integrated with WaveMaker Enterprise platform and is available in the upcoming releases.

What does API-driven App development mean in the context of RAD?

In traditional development approach, an API driven development methodology advocates that the front-end developers take control of the API design and build mocks, while the back-end developers use the API specs to concurrently implement tests and the back end business logic. This paradigm  is applied to Rapid App Development  in WaveMaker Studio, where the back-end services and front-end development is done concurrently based on the auto generated API contracts.  However RAD tools should additionally have features to design APIs for business needs, to configure APIs for access and finally to publish these APIs to be consumed.

API Designer in WaveMaker Studio 7.1,  provides a native integrated solution within the WaveMaker Studio to ease the process of designing, creating  and consuming APIs within the context of a WaveMaker application.  All the characteristics of an API as defined in the previous section will be addressed by the API designer and with ease. Lets jump in.

Say Hello to the new “API Designer” pull out in WaveMaker Studio 7.1

FIG-2: TBD API Explorer view

FIG-2: API Designer Pull Out

Currently WaveMaker generates REST APIs using Swagger based contracts for the following WaveMaker Studio back-end services

1. Database Service
2. Java Service
3. Web Service

Also WaveMaker generates standards based REST annotations for the above services, which are understood by API tools for generating API documentation.  Look out for a detailed blog post on all the auto generated API components in WaveMaker Studio.

Lets see how API Designer eases the process of using APIs as a publisher and consumer.

As an API Publisher: Design, Test & Publish APIs

Lets take a simple use case where the API publisher wants to publish an API to get a list of departments in the enterprise.  You can import the sample database provided with WaveMaker Studio to quickly test this.  Currently WaveMaker generates Data Access Objects (DAO) with CRUD based REST APIs for every table in the database schema.  WaveMaker also generates REST APIs for all the custom SQL queries that user creates.  The various end points corresponding to all the tables imported into the data model and their respective REST APIs are shown.  See FIG-3, which shows a few CRUD based REST APIs of the “Department” endpoint.

FIG-3: Database CRUD based REST apis

FIG-3: Database CRUD based REST APIs

You can further update the design of these auto-generated REST APIs by configuring their description, visibility, method types, parameter type etc.

For instance in FIG-3, user is configuring the visibility of the GET method of the “Department” end point.  The visibility options available to the user include the following:

°  Unavailable-  API is not visible even within the app
°  App-Only-  API is visible only inside the app
°  Private-  API visible to all the apps inside the Enterprise Developer Network(EDN) [1]
°  Public-  API visible external to the enterprise [1]

Java Services APIs have additional configuration options like the parameter types and method types.  Currently all the methods defined inside the Java service classes are automatically exposed as REST APIs that can be configured further.  For instance, if there is a Java service that is created for email services and receiveMail() is a method in that service, this method is automatically exposed as a REST API.  In our example, receiveMail() method has 3 parameters “emailId”, “count” and “unread” (to get only unread mails) and the expected REST API definition looks like this:

FIG 6: REST API definition for receiveMail() method

FIG-4 REST API definition for receiveMail() method

The above (FIG-4) given REST API definition can be easily configured using the API Designer as follows (see FIG-5):

FIG-7: REST API definition for Java Services

FIG-5: REST API definition for Java Services

Once the REST APIs are defined successfully, the next step is to test the APIs instantly using the “Test” tab.  Lets refer back again to FIG-3 and test the GET method of the “Department” end point, as shown in FIG-6.

FIG-8: Test your APIs instantly

FIG-6: Test your APIs instantly

Assuming that the API testing was successful, the next step is to publish the API [1].  Publishing the API would make it available for consumption in others apps, based on the visibility (see FIG-3) that was set earlier.  In WaveMaker, API publishing is done along with the 1-click deployment of the application as shown in FIG-7

Publish_API

FIG-7: Publish/Deploy API

As an API Consumer: Discover and integrate API into the app [1]

The integration of Enterprise Developer Network(EDN) with API Explorer inside the WaveMaker Studio, makes it really easy to discover APIs in other apps shared in the EDN and consume them.  You can easily browse through the shared APIs, select the API and then import using WaveMaker’s interactive web-service import infrastructure. For instance see FIG-8, where the DELETE method of the “Employee” end point in the HRMS app, shared in the EDN,  is tested and imported.

FIG-10: APIs imported from shared apps in EDN

FIG-8: APIs imported from shared apps in EDN

EDN DevPortal [1]

Now that the API Designer feature in WaveMaker Studio has eased the functions associated with the API publisher and consumer, the next logical step is to enable the DevPortal integration with EDN.  DevPortal icon in the EDN home page (see FIG-9) will now take you to the DevPortal API Explorer where you can see all the apps in EDN and their respective APIs and it allows you to further discover, test and collaborate on these APIs.

DevPortal integration in EDN

FIG-9: DevPortal integration in EDN

WaveMaker is working to provide a complete end to end API driven app development approach through WaveMaker’s Enterprise Platform.  API Designer is another big step towards this goal.  Keep watching this space for a host of planned features, in future WaveMaker releases, which includes API deployment, consumption, 3rd party APIs integration and also WaveMaker Gateway, a new module in the WaveMaker Enterprise platform that will give a full fledged API experience for the users.

Excited? Create your WaveMaker app now! If you have any suggestions or feedback, please mail us at feedback@wavemaker.com

Blog  Key

[1] Not available in WaveMaker 7.1. Planned for future releases.

Karthick Viswanathan
Product & Customer-Success Manager

IT Challenges for the Modern Enterprise

November 18, 2014

Even as you begin to read this, you are probably already in the midst of a disruption in the industry and are wondering how to equip your company to meet the new challenge.

5 big reasons why enterprises face challenges

1. Customers are more demanding – The digital world is constantly redefining customer taste, trends and needs. Sometimes, these changes present opportunities that your company shouldn’t let go, to stay relevant.
2. Rate of business change is ever increasing – Constant speeding of business change caused by internet and mobile technologies is hugely determining who survives and who thrives.
3. Size doesn’t matter – Size is no protection in this digital world against market traction. The digital age has enabled everyone to innovate and cause disruption. New startups and lean competitors have no baggage of running business on older models (or backward compatibility, in simple terms).
4. Lineage doesn’t matter – Customers are lapping up innovation and fresh ideas brought by younger and smaller players. Those with no lineage in an industry are chipping away market share of large established players. Experience is no safety and reputation is transient.
5. Competitive threats are hard to see or act – Companies need to experiment, and plan products and services that cannibalize their own successful (in the past) offerings. Innovate or perish paradigm is now a reality.
“40 per cent of the top 500 companies (US) are no longer in the top 500, 10 years later” – Gordon Graylish, Intel global vice-president and general manager, Enterprise Solutions. Clearly, there is no reason for complacency.

Implications on IT

Whip the horse. Isn’t IT supposed to enable companies to steer through challenges? Do enterprise challenges translate into challenges for IT?

Application strategy is of high importance as every business strategy is powered by a software application behind – When Marc Andreessen said “Software is eating the world”, he meant it and it is not surprising that software is going to play a significant role in solving these enterprise challenges. Apps drive every strategy. Hence, app development (powering innovation in strategy) is of utmost importance to the enterprise.
Applications are needed faster than ever – Traditional development practices no longer meet needs of new age businesses. Enterprise IT taking business needs and translating them to software requirements for vendors (after an RFP process), is too slow to be acceptable. IT needs to find new ways of catering to this demand.
Do more with less, as budgets are limited and uncertain – Gartner estimates that 70 percent of IT funds go to things other than business innovation; most likely keeping the current systems running (keeping the lights on). Older software become a liability for numerous reasons and reduces the ability of an Enterprise to change. The problem of shrinking IT budgets is compounded by gradual turning of software investments into legacy (a liability, not an asset). IT needs to generate more value out of prior investments and build on top.


Technology is changing too fast, limiting capacity build up – Scorching pace of technology infusion is crunching the time enterprises have to build up their internal capability. New technology is rapidly multiplying possibilities for business leaders, but is also questioning their status quo.
Incentive for saving time than money – Instead of striving to save its own expenditure, IT can serve better by equipping the company for its future battles in the shortest possible time. This forces IT to think of “Wrap and reuse” instead of “Rip and replace” strategies.
Innovation and reuse are at a premium.

What then?

This calls for a relook at what the enterprise IT spending and overall effort is focused on. Gartner has nicely captured how applications stack up (based on their pace of change), that also provides the proportion of focus and budget traditionally accorded by Enterprises.

However, considering the new set of challenges, higher focus is needed on “Systems of Innovation” now than ever before. We should stop treating Technology or IT investment as capex that needs predictable ROI. “Technology is a metaphor for Change. Technology is also a metaphor for Risk”, as Dr. Kenneth Green, Director of The Campus Computing Project, said at DiECon 2013.

In subsequent posts, I would attempt to further elaborate this new kind of Enterprise Innovation Infrastructure and options available for enterprises to implement them in their organizations.

Check out other posts in the series. Twitter: #FutureAppStrategy

Jay Pullur

WaveMaker: Rationale behind the product

November 17, 2014

Today, enterprises are facing tremendous challenges in the market that can only be addressed through business strategy innovation. Given that every new strategy needs to be powered by software, time has come to analyze how their software applications are built and explore if newer technologies or methodologies can make that better.

The intent of this series of postings is to talk about how software-powered enterprise innovation can be put to work. This thinking shapes the WaveMaker product and I would welcome views and suggestions from everyone connected with the topic.

Here is the rough outline for the series.

#1. IT Challenges for the Modern Enterprise

#2. Designing the sandbox for Enterprise Innovation

#3. Rapid Application Delivery (RAD) reality

#4. Can Private Cloud speed up application delivery?

#5. Designing for unlimited supply of commodity hardware

#6. Integration Enable Everything

#7. Collaborating on API design

#8. API-First design. Can we parallelize development?

#9. Fixing the broken component sharing

#10. Designing the software component supply chain

Twitter:  #FutureAppStrategy

Jay Pullur

Maven support for WaveMaker Projects helps developers use their familiar IDEs

November 14, 2014

The new release of WaveMaker Studio (version 7.1) expected to be released next week offers a bi-directional integration of WaveMaker projects with other IDEs. WaveMaker Studio projects can be exported and imported into any IDE of your choice i.e., Eclipse, IntelliJ IDEA etc. providing an easy way for developers to utilize their familiar IDE for complex programming tasks.  Maven based project export feature is especially relevant to Professional developers and Enterprise Architects, who want to do more than just a simple drag-n-drop operation to build their applications. While WaveMaker Studio provides visual-design based drag-n-drop, code generation, collaboration, readily available templates and widgets for faster application development, you can now export WaveMaker project with a Project Object Model (POM) file to code, debug, or test with a different development environment that supports Maven.

In this post, we will learn how you can export your project from WaveMaker Studio and experience the added benefits of a Maven compliant project.

Currently in WaveMaker Studio 7 you can export your project as a ZIP file using the “Export” menu option.

FIG-1: Export Project as ZIP

FIG-1: Export Project as ZIP

These exported projects are Maven compliant and generates a Maven based pom.xml as shown below in FIG-2

FIG-2: Root directory structure of an exported and unzipped project

FIG-2: Root directory structure of an exported and unzipped project

The biggest benefit of making the exported project as Maven compliant is the ease with which the user can switch between WaveMaker Studio and the IDE of his choice to leverage the superior Java code editing and debugging features of the IDE.  Lets see how you can import a project into Eclipse IDE and use it.

FIG-3: Step1: Import a Maven WaveMaker project to Eclipse

FIG-3: Step-1: Import a Maven WaveMaker project to Eclipse

FIG-4: Step2: Import a Maven WaveMaker project to Eclipse

FIG-4: Step-2: Import a Maven WaveMaker project to Eclipse

Importing WaveMaker Studio projects into Eclipse is just a 2-step process as shown in FIG-3 & FIG-4.  This allows the user to instantly switch from WaveMaker Studio to Eclipse, work and leverage Eclipse features, switch back to WaveMaker Studio and import back the modified project.

Some of the common tasks in WaveMaker that can leverage Eclipse (or any IDE) features include the following

1. Writing and debugging Java services
2. Debugging a WaveMaker app deployed on Tomcat or any other web server

Java Services are just Java classes that can be written and debugged with far more ease and authority in an IDE like Eclipse than in WaveMaker Studio itself.

For debugging the app you can use the “Remote Java Application” (see FIG-5) feature in Eclipse to remotely debug your Tomcat deployed app.

FIG-5: Debugging your WaveMaker app using Eclipse

FIG-5: Debugging your WaveMaker app using Eclipse

If your organization is using WaveMaker applications as part of a bigger project that uses Maven, you can include WaveMaker project as a Maven sub-module.

You can also instantly generate the project war file to deploy using the Eclipse “Maven install” menu option as shown in FIG-6.

FIG-6: Generating a war file for deployment

FIG-6: Generating a war file for deployment

And finally after you are done making your changes to the files using Eclipse, you can import the ZIP file (%PROJECT_HOME%/target/export/PROJECT_NAME.zip), created automatically using “Maven Install”, back into WaveMaker Studio.  You can do this using the “Update Project Source” (see FIG-7) feature in WaveMaker Studio.

FIG-7: Re-Import a project zip after modifications done in IDE

FIG-7: Re-Import a project zip after modifications done in IDE

WaveMaker continues to focus in bringing the new trends in application evolution such as API-driven development and design-first paradigms to WaveMaker Platform in the upcoming releases, keep looking out for more exciting news from us.

Create your WaveMaker app now!  If you have any suggestions or feedback, please mail us at feedback@wavemaker.com

 

Karthick Viswanathan
Product & Customer-Success Manager

Webinar: Cloud-based App Development and Docker – Trends to watch out for in 2015

November 10, 2014

Developers and IT Planners at several organizations are adopting cloud-based app development and using it to gain an advantage over competition. The cost savings and benefits are delivered in different forms.

1. Reduction in overall development time. E.g. ( Saves developers 1 hour of every 8)
2. Self-provisioning of dev and test environments without having to wait for hardware or software
3. Easy deployment of applications to production
4. Collaboration with other stakeholders in development efforts

With Docker technology, cloud-based app development or aPaaS (Application Platform as a Service) is only becoming more disruptive − forcing organizations to rethink how they handle innovation, time-to-market pressures, and IT workloads.

Hear from Samir Ghosh, CEO of WaveMaker on the latest and hottest in this space in this one hour complimentary webinar. Click here for the detailed agenda and registration.

Introducing WaveMaker Enterprise

September 16, 2014

WaveMakers, if you have been following our journey for the last few quarters, the WaveMaker Team was intensely working on taking WaveMaker to the next level. And we are proud to announce the latest milestone in that journey – the release of WaveMaker Enterprise.

WaveMaker Enterprise is a complete software platform for rapidly developing and efficiently running enterprise custom, responsive, web apps using enterprise-grade technologies on private or public infrastructure.

Rapid application development
Rapid application develoment remains the keystone at WaveMaker. WaveMaker Studio provides a visual development environment, making custom enterprise app development a breeze. And with WaveMaker Enterprise, you get the latest version of WaveMaker Studio. Studio 7 is one of the most significant releases of WaveMaker in the past few years, if not ever. It includes many new features and upgrades such as:
– modern frameworks such as AngularJS and Bootstrap CSS;
Prefabs - resuable API parts that you can drag and drop;
– brand new WYSIWYG Data Model Designer;
– Smart Layouts that automatically make all your apps mobile-ready;
– data visualization using charts, filters and live widgets; and
a lot more

Deployment to Docker-architected cloud
WaveMaker Enterprise also includes WaveMaker Cloud, which provides simplified Docker container management to deploy and manage your custom enterprise apps. Docker provides the basic building blocks to optimize custom app workloads but requires a well-architected Docker management platform to reap and amplify the benefits. While Docker caught a whole lot of buzz in the enterprise tech industry only recently, we have been working on Docker for well over a year now to build a platform to extract the value out of Docker. During the WaveMaker Cloud beta, we found that Docker provided us 30x the VM density, 50-100x better performance and also 80% cost savings. And we are offering a Docker-architected cloud through the WaveMaker Enterprise platform.

Free trial at WaveMakerOnline.com
Today, as we announce the release of WaveMaker Enterprise, we are also making available a free trial version of the software at WaveMakerOnline.com. You can sign up with your work email for free, invite co-workers and start creating apps for your organization.

Existing users who have helped us by trying out WaveMaker Studio and WaveMaker Cloud Beta will notice that they will be redirected to WaveMaker Online. Your projects too would be migrated to the new platform. If you have been having trouble accessing Studio and Cloud in the last few hours (Refer to the downtime announcement on Twitter, Facebook and our Forums), it is because we were in the final sprint of a long journey.

Webinar
If you would like to know more about today’s release, do join us for the webinar that starts in less than an hour from now. Register for the webinar here. Update: In case you missed it, watch the recording of the webinar here.

As always, you can contact us at info@wavemaker.com or via our Forums.

WaveMaker Studio 7 and Enterprise Launch

September 4, 2014

We will be launching Studio 7 and our new WaveMaker Enterprise platform on September 16th.

For existing WaveMaker users, we will have two “What’s New” webcasts. Please block out your calendars:

* Americas and Europe: September 16, 2014 (9:00 am PDT)
* Australia and Asia: September 18, 2014 (2:00 pm SGT)

I hope you’ll attend our webcast and see all the new capabilities of Studio 7 and learn about WaveMaker Enterprise, including our Docker container-architected PaaS software.

For detailed agenda and registration visit:
http://www.wavemaker.com/news/webinar-whats-new/

Samir.

Maintenance downtime for Forum upgrade

August 30, 2014

Hi All,

On behalf of a scheduled maintenance activity, forums will be down between 4am-5am PDT on Aug 30, 2014. Sorry for the inconvenience caused for some of you, blog, documentation and our aPaaS platform will be available during this time.

Regards,
Deepak Anupalli

Now Available – WaveMaker Studio 7.0 Beta 4

August 11, 2014

Hello everyone, we have just updated WaveMaker Studio 7 with BETA 4 release. This release takes the product a step closer to what we have envisaged it to be. It  has a host of new features, not to mention important bug fixes and more stability. Do give it a spin and let us know what you think. We are all ears to your feedback; in fact many posts in the forum acted as inputs for features and fixes in the Studio. So do keep the feedback coming on our forum which has dedicated topic for WaveMaker 7 Feedback

Check what is new in this release in our Release Notes

Here are some important feature additions and bug fixes in the new release

Features

Variables: Option to search in add-variable dialog

Database Services: Option to “Revert to last published version” of the data model

Database Services: Implicit use of “Overwrite” property for the database to simplify export

Fixes

Charts: Support for string type x-axis in Line, Cumulative, Area charts

Widget: Image upload option for picture widget

Are You Proud of Your WaveMaker App?

July 24, 2014

We’d love to hear about it!

Please tell us about the application you have built using WaveMaker. We often get asked by analysts and press for customer stories. Whether you’d like your name “in lights” or prefer to remain anonymous, please share your story. We may use your story (in press, collateral, case studies, testimonials, webinars, etc.).

Submit your story at http://j.mp/wm_app_pride