Create stand-alone web services applications with Eclipse and Java SE 6, Part 1
Content series:
This content is part # of # in the series: Create stand-alone web services applications with Eclipse and Java SE 6, Part 1
http://www.ibm.com/developerworks/webservices/library/?series_title_by=Create+stand-alone+Web+services+applications+with+Eclipse
This content is part of the series:Create stand-alone web services applications with Eclipse and Java SE 6, Part 1
Stay tuned for additional content in this series.
Before you start
About this series
This tutorial series demonstrates how to create a stand-alone web services server and client application that you can easily run from the command line with Java SE 6 rather than from within Web application server containers. Using a simple Hello World example, you'll leverage the Eclipse IDE, Java SE 6, and Apache Ant to easily create fully functioning web services server and client applications. You'll also use the TCP/IP Monitor to examine the communication traffic between the server and client, and use the Eclipse Web Services Explorer tool to test the web service.
About this tutorial
This tutorial, Part 1 of the series, introduces you to publishing a web service application using the Eclipse IDE, Java SE 6, and Ant. It lays the groundwork for Part 2, which describes the creation of the web services client application.
Objectives
After completing this tutorial you should know:
- What a web service is and the standards it uses in relation to a browser being used from within Eclipse to view the published Web Services Description Language (WSDL) file.
- How to create the server side of a web service, including how to install and configure the Eclipse IDE and the Java Development Kit (JDK) so that they perform together to generate the code that's compiled using Java SE 6.
- How to use the Ant Java-based build tool within the Eclipse IDE to run a special Java command to generate some of the code.
Prerequisites
This tutorial includes simple steps written for beginning- to intermediate-level Java programmers with some working knowledge of the Java language and Ant builds. Novice to more advanced Java developers will gain some knowledge of how to build, deploy, and run stand-alone web services servers and distributed clients to provide firewall-friendly remote communications and applications processing.
System requirements
To follow the examples, you need to download:
You don't have to download Ant, as its functionality is bundled with Eclipse. This tutorial uses the Ganymede Package for the Eclipse IDE for Java EE Developers.
Set up your development environment
Install Java SE 6
- Download and install the latest Java SE 6 JDK. Java SE 6 has many new features, including web services APIs.
- Double-click the executable file and follow the installation instructions. We recommend you perform the typical installation and maintain all default settings, such as location.
- When asked, select whether you want to install the Java runtime environment as the system JVM and whether you want any browsers to be associated with the Java plug-in.
- Click Finish to install.
- Close any browser windows that are open.
- When complete, you should be presented with a thank-you message confirming successful installation. Click OK to close.
Note: Installing the Java Runtime Environment (JRE) as the system Java Virtual Machine (JVM) means that it replaces any JVM found in the Microsoft® Windows® directory or places a new copy in there if one is not found. Associating any browsers with the Java plug-in means that this new version of Java will be used for applets.
Install Eclipse
Eclipse is an open source, extensible development platform, which can be installed on almost all operating systems.
Installing Eclipse is fairly straightforward because there's no installation process:
- Download the Eclipse IDE for Java EE Developers.
- Extract the file to the desired location on your computer. You should then see a folder named eclipse. It's a good idea to create a shortcut to the eclipse.exe file on your desktop for convenience.
Configure Eclipse
When you first run Eclipse, the Welcome page is displayed, as shown in Figure 1. If you don't want to read the Overview and other offerings, simply close that page and come back to it later by selecting Help > Welcome.
Figure 1. Welcome screen
Configure Eclipse to use the Java SE 6 JDK you installed earlier; you want to associate your project with this version of Java:
- Select Window > Preferences > Java > Installed JREs, and click the Add button.
- Enter a name, such as
Java SE 6
, to easily identify what version it is. - Click the Browse button and locate the directory where JRE 60 was installed.
- Click OK (see Figure 2).
Figure 2. Adding a new JRE
The new JRE should now appear in the list of installed JREs, as shown in Figure 3. - Select the Java SE 6 check box, then click OK.
Figure 3. Selecting the new JRE
- To set compliance to the installed version of Java, select Window > Preferences > Java > Compiler.
- Select 1.6 from the Compiler compliance level drop-down list, as shown in Figure 4.
Figure 4. Setting compliance
Create a project
Next you create a project to construct your web services server. A project contains the source code and other related files, and it lets you use the project as the source container or to set up folders inside the project to organize files.
- Select File > New > Project.
- Expand the Java folder and click Java Project (see Figure 5).
Figure 5. Creating a project in Eclipse
- Click Next.
- Enter a project name, such as
wsServerExample
, when prompted, as shown in Figure 6.Figure 6. Entering project details in Eclipse
- Select the Use default JRE radio button if it was previously selected by default; otherwise select the Use a project specific JRE radio button, ensuring that it's Java SE 6.
- Click Finish to associate your project with the Java JDK you installed earlier.
- If you're prompted to switch Java perspective, click Yes.
Create the server
First you need to create a Java package to house your Java classes:
- Select File > New > Package.
- When the New Java Package window opens, enter a name for the package, such as
com.myfirst.wsServer
, as shown in Figure 7.Figure 7. Creating a package
Next you need to create a class for the server code:
- Right-click the package name you just created, then select New > Class. Configure it as shown in Figure 8.
Figure 8. Creating a class
- Create your class as public with no main method stub.
Now that you've provided your package with a class, you can write the code for the server, as shown in Listing 1.
Listing 1. Server code
Note the text in bold in Listing 1. This is called an annotation, or metadata, which is used by the Web Services Metadata Specification introduced in Java SE 5. Developers define their classes and methods before applying annotations to them to indicate to the runtime engine how to enable the class and its methods as a web service and web service operations. Java SE 6 comes bundled with such an engine.
The
@WebService
annotation marks the SayHello
class as implementing a web service, which results in a deployable web service being produced. This particular annotation is a WSDL mapping annotation and associates the Java source code to the WSDL elements that represent the web service. (See Resources for more information about other annotations in Java SE 6.)Generate the server code with Ant
After you've written the server application, you need to generate the web service-supporting code. First, create a new Ant file called build.xml:
- Right-click the project and select New > File.
- Enter the name
build.xml
when prompted, then click Finish (see Figure 9). - Make sure this file opens with the Ant Editor by right-clicking it and selecting Open With > Ant Editor. From now on, whenever you double-click this file, it opens with the Ant Editor.
Figure 9. Creating an Ant file
- Enter the Ant project shown in Listing 2.
Listing 2. Ant script
- To run the Ant build.xml file, right-click Run As and select Ant Build, which executes the Ant file.
- Make sure that this results in a
BUILD SUCCESSFUL
message in the Eclipse Console window, as shown in Figure 10.Figure 10. Ant build success
- Return to the Eclipse project and refresh the project by right-clicking wsServerExample and selecting Refresh. You should now see the generated code to run the web service created under the new package called com.myfirst.wsServer.jaxws (see Figure 11).
Figure 11. Generated code
Publish the web service
After you've generated the code for the web service's server, you need to publish it so you can start using it:
- Create a new class under the com.myfirst.wsServer package you created, and call it something like
RunService
. - Right-click the package and select New > Class, but this time select the option to create the main method stub.
- Write the code to publish your web service, as shown in Listing 3.
Listing 3. Publishing code
Java SE 6 provides new support for publishing web services. TheEndpoint
API simply publishes the web service endpoint, which generates the WSDL at run time at a URL. - Run this class by right-clicking it and selecting Run As > Java Application. The Eclipse IDE Console window should display. If it doesn't, select Window > Show View > Console. You should see an indication that the web server has started, as shown in Figure 12.
Figure 12. Console with the service running
View the WSDL
Now that the server is up and running, you should test it to make sure it's working as expected:
- Open the internal Web browser in Eclipse by selecting Window > Show View > Other > General > Internal Web Browser.
- type the URL, such as
http://localhost:8080/wsServerExample?wsdl
, which should display the web service's WSDL text, as shown in Figure 13.Figure 13. Console with the internal Web browser
- When you're finished, you can stop the web service by clicking the red square in the Eclipse Console view. However, to continue the tutorial the web service needs to remain running.
Test the server
Next you use the Eclipse Web Services Explorer tool to invoke the operations of a web service via native WSDL and SOAP to test the
getGreeting
method of the web service you just created. - You may need to change to the Java EE perspective. Click Window > Open Perspective > Other.
- When the window appears, select Java EE.
- Select Run > Launch the Web Services Explorer. Maximize the view by double-clicking its tab. You should see the screen shown in Figure 14.
Figure 14. The Web Services Explorer
- Click the icon indicated by the red circle. This displays the WSDL page, as shown in Figure 15.
Figure 15. WSDL page
- In the Navigator pane, click WSDL Main. The Actions pane is updated, as shown in Figure 16.
- Enter the WSDL URL, in this case
http://localhost:8080/wsServerExample?wsdl
, then click the Go button.Figure 16. Entering WSDL URL
- The WSDL should successfully open, and you should see a screen similar to Figure 17.
Figure 17. Successfully opened WSDL
- Next you invoke an operation by clicking getGreeting under Operations (shown in Figure 17). This results in a screen similar to Figure 18.
Figure 18. Invoking an operation
- Under
getGreeting
in the Body section, click the Add link (as shown in Figure 18) to add a new row to the values table. - Enter a name (here,
Fiona
), and click the Go button. - In the Status section,
getGreetingResponse
displays the result. You should see a You should see a result likereturn (string): Hello Fiona
(see Figure 19) in the Status section. You might need to scroll or drag the views to see the result.Figure 19. Result of the operation
Summary
Creating, generating, and publishing a web service server is as simple as using Eclipse and, of course, Java SE 6. Stay tuned for Part 2 of this tutorial series where you'll build the stand-alone client to use with this stand-alone web service server.
Appendix: A brief overview of web services terms and acronyms
Web service
According to W3C, a web service is the 'software system designed to support interoperable Machine to Machine interaction over a network.' In other words, web services are programmatic interfaces used for application-to-application communication. Typically, they are used as Web applications that enable the communication between computers over a network, such as the Internet.
Clients and servers communicate using XML messages that follow the SOAP standard. That is, web services use XML to code and decode data and SOAP to transport it using open protocols. Two of the basic elements of web services platforms are SOAP and WSDL.
XML
Extensible Markup Language (XML) lets users define their own elements. It's a general purpose specification facilitating the sharing of structured data across different information systems, typically across a network. XML is designed to carry information and not to display it. In other words, XML does not actually do anything other than to structure, store, and transport information; it's just plain text.
SOAP
SOAP used to stand for Simple Object Access Protocol, but this was dropped in version 1.2 because it was believed to be too misleading. It's a lightweight communication protocol that lets applications exchange information over networks using XML, or more simply, for accessing a web service. SOAP allows applications to communicate with each other regardless of which operating system they're running on and what programming language they were written in.
WSDL
A WSDL is an application-readable Web Services Description Language. It's used to describe the web service's features and how it should be called by the client application. That is, it describes all the methods and its signatures, the namespaces, plus the handling Uniform Resource Identifier (URI) for the web service in an XML document. The URI names a resource on a network.
Downloadable resources
Related topics
Comments
Sign in or register to add and subscribe to comments.
The Web Development Series is supported by Rackspace, the better way to do hosting. Learn more about Rackspace's hosting solutions here.
If you're new to programming (or new to programming in a particular language) you might be looking for an IDE — that's an integrated development environment, the handy, dandy piece of software that acts as text editor, debugger and compiler all in one sometimes-bloated but generally useful package.
Unless you're committed to working in a text editor and a command prompt window (and there are compelling reasons for doing exactly that) you might be looking for some advice on how to choose a good IDE, the pros and cons of various varieties, the relative costs (financial or system resources) of running a particular IDE, what other languages the IDE might handle well, the operating system(s) it runs on and ever so much more.
I was recently in need of such advice, myself. As some of the readers of this blog know, I recently went back to school to study computer science. Being an utter novice, I made the mistake of asking developers in my sphere what IDE I should use.
The topic is apparently a minefield of catastrophic proportions. Developers are passionate, experienced and opinionated when it comes to optimizing their workflows, and recommendations (and anti-recommendations, e.g., 'NetBeans is superlatively bad and will turn your hardware into Cream O' Wheat!') fly like shells over a battlefield.
Here's a less opinionated, concise but thorough look at IDEs for the new programmer. If you need more detailed information or want to find an IDE for a less common programming language, check out the Wikipedia article comparing just about every IDE known to humankind.
And if we left out an IDE you particularly love, let us know about it in the comments — but try to keep the NetBeans/Eclipse, Vim/Emacs flamewars to a minimum.
IDEs Built from Text Editors
It's a slightly more complicated setup, but some pro developers swear by these workflows, which take a lightweight, run-of-the-mill text editor and turn it into a full-fledged, be-all-end-all IDE.
Ars Technica has an excellent step-by-step article on how to turn Vim into a great IDE using Exuberant Ctags, completion modules, script collections and more.
Emacs users can also use commands to make this editor more developer-friendly. And of course, this topic gets a thorough discussion at StackOverflow.
When in doubt, search Google for tips on turning your favorite text editor into a great IDE for your language of choice. Chances are someone, somewhere has already attempted it and is willing to hand out advice.
Multi-Language IDEs
As a beginning programmer, you might not need tools for coding in Ruby and Python and C++ and PHP, but if you're aiming for a multi-language career later on, you might consider learning the ropes of a multi-language IDE.
One kind gent (or lady) on Hacker News wrote, 'Although many IDEs can handle more than one language, few do it well. Plus, it's likely overkill if you are just getting started.' This individual suggested instead using a simple text editor such as gEdit (Linux) or TextMate (Mac) for multi-language practice.
Eclipse
Languages: C, C++, Python, Perl, PHP, Java, Ruby and more
Price: FREE
Price: FREE
Eclipse is the free and open-source editor upon which many development frameworks are based. It's one of the granddaddies in its field and comes highly recommended by many a professional developer. Eclipse began as a Java development environment and has greatly expanded through a system of lightweight plugins.
NetBeans
Languages: Java, JavaScript, PHP, Python, Ruby, C, C++ and more
Price: FREE
Price: FREE
NetBeans is neck-and-neck with Eclipse as the most-recommended IDE in this category. It's free and open-source, supports tons of languages with more plugins coming all the time, and is incredibly simple to install and use, even for a beginner.
Komodo
Languages: Perl, Python, Tcl, PHP, Ruby, Javascript and more
Price: $295
Price: $295
This enterprise-level tool might be best for the pro developer because of its higher price point. For beginners, you might also want to check out the Komodo-based, FOSS editor Open Komodo or Komodo's FOSS version, Komodo Edit.
Aptana
Languages: HTML, CSS, JavaScript, AJAX and others via plugins
Price: FREE
Price: FREE
Aptana is a popular choice for web app development. Aptana Studio 2 can be used as a stand-alone IDE or can be plugged into Eclipse. Aptana comes with Firebug support built-in, and its developer community seems to release plugins for other languages as needed.
BlackAdder
Languages: Python and Ruby
Price: $59.99 (personal developer license)
Price: $59.99 (personal developer license)
This IDE is designed for Python and Ruby devs creating apps for Windows and Linux. It includes a text editor as well as a GUI designer that uses pyQT and QT Designer. The makers of BlackAdder allow you to test drive the IDE in a limited demo version.
Geany
Languages: C, Java, PHP, HTML, Python, Perl, Pascal and a boatload more
Price: FREE
Price: FREE
Geany bills itself as a 'small and fast' IDE, but it is by no means a lightweight. Its list of supported languages is about a block long; it's highly customizable; and it features a robust set of plugins which is open for hacking.
Here's a chart showing the differences and similarities between a few multi-language IDEs. An asterisk denotes the need to use a third-party or other plugin to achieve the desired functionality. The .NET column indicates support for .NET languages, particularly C#. 'FOSS' is the acronym for 'free and open-source.' Click the image to see a slightly larger version.
IDEs for Mobile Development
These days, developing mobile applications is one of the most compelling and exciting reasons for learning how to code. We're still looking for that perfect, all-in-one, cross-platform mobile app IDE — in fact, we particularly welcome your comments and suggestions on this score — but here are a few ideas to get you started.
Try some of PhoneGap's cross-platform tools. PhoneGap works with Xcode and Eclipse for iPhone and Android, respectively. You could also try the web-based, hosted RhoHub, which allows for git-powered source control and team collaboration.
Another good bet for mobile developers is Appcelerator's Titanium Mobile, which lets you write in any language/IDE you choose, then translates your code to Objective-C or Java. You can also check out our list of cross-platform mobile development tools. Finally, the mobile development products (and resultant applications) from Adobe are getting more interesting all the time — we highly recommend keeping an eye on their developer tools.
Also, if you're already using a multi-language or other IDE, check the web to see if a mobile-development plugin already exists; many IDEs such as Eclipse have this functionality.
Web-Based IDEs
If you're working remotely or need a last-minute fix, these IDEs might be worth looking into.
CodeRun
Languages: ASP.NET, PHP, Ajax, C#, JavaScript, CSS, HTML and more
Price: FREE
Price: FREE
This broswer-based IDE works in Chrome, Firefox, Safari and even good old Internet Explorer. Like the more robust multi-language IDEs, CodeRun supports Visual Studio projects and .NET languages. Best of all, your code is sharable via hyperlinks; it's even got built-in social sharing tools, should you want to tweet your code.
ShiftEdit
Languages: PHP, HTML, CSS and JavaScript
Price: FREE
Price: FREE
ShiftEdit brings revision history and code snippets to the browser. Any files you access will stored until next time you log in. This IDE's text editor is based on Mozilla's Bespin (mentioned below).
If you need a collaborative, web-based code editor — great when working on joint projects or as part of a team — you might also want to check out Squad. And for HTML5-based code editing, try Mozilla's SkyWriter, formerly codenamed Bespin.
IDEs for Microsoft/.NET/C# and Apple/iPhone/Mac Devs
Some languages require a bit of special handling; not all multi-language IDEs support all languages, and if you're working with the Cocoa API, for example, or with a .NET framework language, you might want to consider something more specifically suited to a Microsoft or Apple development environment.
Another part of this category includes single-platform IDEs such as Coda and Espresso. They only run on Mac Operating Systems, but they allow for multi-language development within a very Apple-flavored GUI.
Lets go project yeke yeke kuba s fisher remix zippy. Sep 13, 2012 SUBSCRIBE ME!! DOWNLOAD: PREMIERA!! Let's Go Project - Yeke Yeke ( Kuba S & Fisher Remix ) www.facebook.com/djfisherpol.
Visual Studio
Languages: Visual C++, VB.NET, C#, F# and others
Price: $549
Price: $549
Visual Studio is Microsoft's IDE. If you're building Silverlight apps or planning on working in a .NET shop (such as MySpace), you may want to spend some time with Visual Studio. Visual Basic has some support for non-Microsoft languages such as Python and Ruby, but you'll have to install those services yourself. A free, limited-time trial version is available.
Xcode
Languages: Objective-C, Objective-C 2, Cocoa and Cocoa Touch APIs
Price: FREE
Price: FREE
This IDE is just for creating iOS and Mac apps. If you're thinking along Apple-y lines and want to get into iPhone or iPad development, Xcode might be your first stop. This IDE includes an iPhone simulator and GUI builder, too.
Monodevelop
Do We Have Standalone Web Ide For Windows 7
Languages: C/C++, Visual Basic, C# and other .NET languages
Price: FREE
Price: FREE
Monodevelop is a good option if you're working in a .NET languages and don't want (or need) to fork over the $550 for Visual Studio. This free-as-in-beer IDE also allows you to port your apps to Linux while maintaining a single codebase.
Espresso
Languages: HTML, CSS, XML, JavaScript and PHP
Price: $79.95
Price: $79.95
Espresso, a tool for Mac web devs, comes from the makers of CSSEdit. Its supported languages and other features are extensible through plugins known as 'Sugars.'
Coda
Languages: PHP, JavaScript, CSS, HTML, AppleScript and Cocoa API
Price: $99
Price: $99
Coda bills itself as 'one-window development' for the Mac user, and its a favorite of many developers on this platform. It's a full-featured IDE, but one of its most interesting features is live collaboration with other users.
IDEs for Specific Languages
Here are a few suggestions for IDEs that cater to developers working in a single language. Some of these options are more costly than others, but most of the non-free IDEs here will also have a free trial version available for you to test-drive the software, learn to use it and decide whether or not you need and want its features and interface.
We only have space to highlight a few of the more popular programming languages here. If we left your preferred language out of this list, search StackOverflow for IDE recommendations, or ping the friendly devs over at Hacker News for their advice.
C/C++
C/C++ languages are some of the most widely used in the world of computer programming. Almost every multi-language IDE will support C/C++, but here are some dedicated IDEs just for C programmers.
Bloodshed Dev-C++
Price: FREE
Price: FREE
Code::Blocks
Price: FREE
Price: FREE
CodeLite
Price: FREE
Price: FREE
C-Free
Price: $79.95 (single-user license)
Price: $79.95 (single-user license)
Java
Yeah, yeah, I've heard about how much Java sucks more times than I can recall. But it's used in the Android stack as well as in a lot of intro-level programming courses, so here's a lineup of good Java IDEs.
Jikes
Price: FREE
Price: FREE
Cod mw remastered compressed 500mb. Jcreator
Price: $89 (single-user license)
Price: $89 (single-user license)
IntelliJ IDEA
Price: FREE
Price: FREE
Python
Never mind the fu and bar, here's some spam and eggs. If you got that reference, you might want to check out these links. Here are a few IDEs dedicated to Python, a powerful, readable and fascinating language. For more suggestions and comparison information, check out this exhaustive StackOverflow list of Python IDEs.
Idle
Price: FREE
Price: FREE
PyCharm
Price: $49 (personal license)
Price: $49 (personal license)
Pida
Price: FREE
Price: FREE
Accu rip software. Wing
Price: $35 (personal license, single OS)
Price: $35 (personal license, single OS)
Pyscripter
Price: FREE
Price: FREE
PHP
PHP powers some of the most ubiquitous web apps around today, from WordPress to Facebook. Many of the free multi-language IDEs also support PHP development. Here are some full-featured, pro IDEs we've seen recommended.
PHPStorm
Price: $99 (personal license)
Price: $99 (personal license)
PhpED
Price: $119
Price: $119
Zend Studio
Price: $399
Price: $399
PHP Designer
Price: $45 (personal license)
Price: $45 (personal license)
Ruby/Rails
For a relatively young language, Ruby gets a lot of mileage, from consumer-facing apps like Twitter to dev-centric sites such as GitHub. In addition to these IDEs, also check out Ruby In Steel, a Ruby tool for Visual Studio, and Heroku, the so-hot-right-now PaaS for Ruby apps.
RubyMine
Price: $99 (commercial license)
Price: $99 (commercial license)
Redcar
Price: FREE (and still under development)
Price: FREE (and still under development)
RadRails
Price: FREE
Price: FREE
Use What You Love, Love What You Use
Finally, after scores of links and a huges recommendations are just highly subjective suggestions.
We wish you well, and happy coding!
Disclosure: The author of this post uses gEdit, Notepad, NetBeans, JCreator, and a magnetic needle and a steady hand.
Series supported by Rackspace
The Web Development Series is supported by Rackspace, the better way to do hosting. No more worrying about web hosting uptime. No more spending your time, energy and resources trying to stay on top of things like patching, updating, monitoring, backing up data and the like. Learn why.
More Dev & Design Resources from Mashable:
- 11 Trends in Web Logo Design: The Good, the Bad and the Overused
- Top 5 Web Font Design Trends to Follow
- 5 Tips for Aspiring Web App Developers
- Flash vs. HTML5: Adobe Weighs In
- 6 New Mac Apps for Designers and Developers
- Top 5 Web Font Design Trends to Follow
- 5 Tips for Aspiring Web App Developers
- Flash vs. HTML5: Adobe Weighs In
- 6 New Mac Apps for Designers and Developers
Image courtesy of Flickr, roland
Thanks for the info, Ludo.
Can you clarify this to me? “More than one year ago, SAP has introduced the Cloud Build Service as an alternative to building apps on a local machine. This service was originally added as part of the mobile service for SAP Fiori developer experience and in October of 2017 was added to SAP Cloud Platform mobile service for development and operations.”
What has actually changed? I keep using this feature from Web IDE and I don’t see any changes on it.
Thanks in advance. Happy Holidays!
An Integrated Development Environment (IDE) also known as Integrated Design Environment is a software applications that provides coding, editing and debugging tool for creating desktop applications, web application, java based application and more. In this post, we have gathered some useful and must have free IDEs for programmers and web developer.
Do not confuse Integrated Drive Electronics– IDE with Integrated Development Environment, which is also known as IDE. They are two different things. The basic features of an IDE includes :
- A text/ source code editor – To edit different scripting and programming language such as PHP, Phyton.
- A compiler and/or an interpreter – To transform source code into computer language.
- Build automation tools – For automating to task that developers uses on a regular basis.
- A debugger – To check for errors and mistakes.
Some of the IDE’s that are targeted towards web development also includes FTP.
Why Would You Want to Use an IDE?
If you are wondering how an IDE would benefit you, here is an example. Let’s say you are creating a web app using Java or PHP. You would have to go back and forth between Firebug, text editor and FTP, Firebox. You lose time in switching between different applications. An IDE fills in this gap by keeping you focused on your work rather than switching between different applications. You get features of four or five different applications in one. If you want to get into hardcore coding IDE is a must. So, here we have complied a list of free IDE that you can try and use. We will also include some paid IDE software at the bottom of the post.
WebScripter (Mac)
WebScripter is an IDE for web programmers with a nice and clean interface that includes code editor , FTP, debugger and more features.
Aptana Studio (Windows/Mac/Linux)
Aptana is well known IDE among the programmer and developer. Beside the usual features you can also add plugins , which makes Aptana a must have tools for developers.
Qt Creator (Windows/Mac/Linux)
Qt Creator is mainly used C++. It has an advanced code editor , visual debugger and many more features.
Code::Blocks (Windows/Mac/Linux)
Code::Blocks supports multiple compilers, including Microsoft Visual C++, Borland C++, Watcom , the Intel C++ compiler and many more.
Syntori (Mac)
Mainly focused for Java developers who enjoys the mac interface. Includes lots of features for debugging.
NetBeans IDE (Windows/Mac/Linux)
NetBeans is a cross-platform, opensource IDE that supports many languages such as Ajax,C/C++, JavaScript, Ruby, PHP, Python and more. Pick your scripting or programming language and get to work. You can create desktop, mobile, web applications using NetBeans.
Eclipse (Windows/Mac/Linux)
Eclipse is a multi-language software development environment. You can download the PHP, C++ or Java IDE from here
PSPad (Windows)
A code editor that support many different language such as C++,CSS, HTML, XHTML,Java, JavaScript, Perl, PHP, Python, SQL, TCL/TK, Unix ShellScript, VBScript, Visual Basic and more. Some features to mention: FTP Client, Macro Recorder, File Search/Replace, Code Explorer and more.
Microsoft Visual Studio Express (Windows)
IDE from Microsoft that includes a code editor supporting IntelliSense as well as code refactoring. Built-in languages include C/C++ (via Visual C++), VB.NET and C# and also supports other languages such as, Python, and Ruby, XML/XSLT, HTML/XHTML, JavaScript and CSS.
Edit: Visual Studio Express is free not the Visual Studio in General (as a reader pointed out).
Ulzard (Web Based- Windows/Mac/Linux)
If you need an IDE on the go, Ulzard is a useful on browser IDE. Mainly focused on web applications, that relay on JavaScript frame works.
Not Free, But Worth Checking Out
UPDATE (July 4th, 2018): On December 31st  2018, SAP Web IDE Full-Stack will become the only cloud version of SAP Web IDE – see blog
UPDATE (May 14th, 2018): SAP Web IDE Full-Stack is now ready!
When SAP Web IDE Full-Stack was first launched, we suggested to use each version for different needs (SAP Web IDE for Fiori development and SAP Web IDE Full-Stack for CF development), until we consolidate the two versions into one.
SAP Web IDE Full-Stack is now ready to suit both Fiori and full-stack developments, so no need to use two versions 🙂
Moving forward, we plan to put all our efforts into the SAP Web IDE Full-Stack version.
We recommend to start migrating your projects from SAP Web IDE to SAP Web IDE Full-Stack. The migration process is very simple and takes a few minutes!
Check out this blog for the official announcement and this blog for helpful tips to help you migrate easily.
So many SAP Web IDE versions… no wonder you’re confused!
In this blog, we would like to share the reasoning behind the different SAP Web IDE versions and
when you should use what.
when you should use what.
What is SAP Web IDE?
SAP Web IDEÂ is a powerful, extensible, web-based integrated development tool that simplifies end-to-end SAP application development.
There are currently three main versions of SAP Web IDE:
SAP Cloud Platform, Web IDE
- Available on SAP Cloud Platform (Neo)
- Also available as a downloadable personal edition
SAP Cloud Platform, Web IDE Full Stack
- Available on SAP Cloud Platform (Neo)
SAP Web IDE for SAP HANA
- Available with SAP HANA
- Also included with the downloadable SAP HANA Express Edition (HXE)
SAP Cloud Platform, Web IDE
Main use cases are to create or extend SAP UX (SAP UI5 or Fiori) apps that
- Consume existing cloud (e.g. IoT services, SuccessFactors) or on-premise (e.g. SAP Core, S/4HANA) OData services
- Will be deployed to SAP Cloud Platform or to an on-premise SAPUI5 ABAP repository
- Can easily be built into hybrid mobile applications for mobile devices
To work offline, download and install the personal edition of the SAP Cloud Platform, Web IDE. The complementary personal edition IDE can be installed on a personal workstation for offline development by a single developer. You can combine both versions, using Git to sync your local workspace and your Cloud Platform account. The personal edition excludes some of the features of the cloud-based version of SAP Web IDE, such as zero administration, certain optional plugins, and other cloud specific features like building mobile apps. For evaluation purposes, you can sign up for a free SAP Cloud Platform trial account to explore SAP Web IDE based development. Once you are ready to start development, you have to acquire an SAP Cloud Platform license or SAP Web IDE user license.
SAP Cloud Platform, Web IDE Full Stack
Main use cases are to create SAP full-stack apps, SaaS apps and extend SAP S/4HANA apps that
- Consume existing cloud (e.g. IoT services, SuccessFactors) or on-premise (e.g. SAP Core, S/4HANA) OData services
- Will be deployed to SAP Cloud Platform, Neo and Cloud Foundry environments, or to an on-premise SAPUI5 ABAP repository
This version of SAP Web IDE is based on an open-source server-side foundation, and offers advanced features, such as:
- Support for SAP Leonardo with incorporated IoT wizard for developing beautiful IoT applications without any coding
- Full-stack application development for SAP Cloud Platform, Cloud Foundry environment, consisting of several modules, such as a HANA based model, business logic (written in Java), and of course Fiori/SAPUI5.
- Build an SAPUI5 app and automate tasks using Grunt
- Create and deploy Workflows in SAP Cloud Platform
- Seamless integration with SAP API Business Hub
SAP Web IDE for SAP HANA
Main use cases are to create SAP HANA native applications for your SAP HANA platform that
- Consist of multiple modules, from UX to OData services and HANA data models
- Will be deployed to your SAP HANA system with its Extended Services advanced application server (XSA, on SAP HANA 1.0 SPS 11 or higher)
If you prefer to work offline, or if you don’t have access to a corporate SAP HANA system, you can also download and install the SAP HANA express edition and the XSA based tool package on your workstation. Install SAP HANA and the XSA tools, including SAP Web IDE for SAP HANA. Use the IDE to develop full-stack business applications for SAP HANA and its XSA application server. You can develop and test UI5/Fiori apps, business logic and OData services with Node.js, XSJS and Java, as well as SAP HANA code and data models. All these parts of a complete business application can then be assembled into an archive package for deployment to a productive SAP HANA platform.
Why having multiple versions of SAP Web IDE?
This situation is temporary. We are currently in a transition phase from SAP Cloud Platform, Web IDE to the SAP Web IDE Full Stack.
So, which version should I use?
Currently, while we’re still in the transition phase, for any UI development including Fiori and SAPUI5, you should keep using the SAP Cloud Platform, Web IDE version.
For developing SaaS apps and extending S/4HANA, use the SAP Web IDE Full Stack version.
For any HANA Native application development, use the SAP Web IDE for SAP HANA version.
For developing SaaS apps and extending S/4HANA, use the SAP Web IDE Full Stack version.
For any HANA Native application development, use the SAP Web IDE for SAP HANA version.
Summary
The following illustration summarizes the differences between the three SAP Web IDE versions:
What’s next?
We plan to consolidate the versions of the SAP Web IDE to minimize the differences.
Once the transition phase will end, we will ask you to start migrating to SAP Web IDE Full Stack, providing you with the proper guidance and assistance.
Once the transition phase will end, we will ask you to start migrating to SAP Web IDE Full Stack, providing you with the proper guidance and assistance.
Our strategy is to have ONE SAP Web IDE.
Frequently Asked Questions
Should I move my development to the SAP Web IDE Full Stack version?
If you are using SAP Web IDE and it suits your needs, we recommend not to move yet to the SAP Web IDE Full-Stack version.
You can use the SAP Web IDE Full-Stack version, if you have an interest in the new capabilities that are offered in the SAP Web IDE Full-Stack version e.g. full-stack application development, using Grunt build, integration with SAP API Business Hub, support for SAP Leonardo.
If your interest is only Fiori/SAPUI5 development we recommend using the existing SAP Web IDE version. Follow these steps if you want to move an existing project to SAP Web IDE Full-Stack version.
Do I have to purchase anything to be able to use SAP Web IDE Full Stack version?
No, you don’t have to purchase a new license. you can use this version under the terms of your existing license.
Will the new capabilities of the SAP Web IDE Full Stack version be offered in the SAP Cloud Platform, Web IDE version?
No, we will continue to maintain the current SAP Web IDE version, but new features will be introduced in SAP Web IDE Full Stack version.
If you have any other questions, ask our community, check out our documentation, or contact us.
Register here to get the latest news and updates from SAP Web IDE.
Register here to get the latest news and updates from SAP Web IDE.