2011-11-01 | 03:00 PM - 03:50 PM | Developer productivity is paramount. We cannot live in a world where developers are resting, drinking coffee, enjoying themselves or talking to other people. This does not produce code. Unacceptable! The new WebSphere Application Server V8.5 Alpha tools and runtime have been designed around developer productivity. They truly are super lightweight and lightning fast. We will look at how the Liberty Profile has been designed to meet the high expectations of a development environment, while maintaining it's best of breed attributes around robustness, scalability and transactional integrity. Don't just take my word for it, there will be live demos so you can see the server start in seconds for your own eyes! With developer tools this fast, we can afford to spend some time away from coding, so there will be some coffee related prizes during the session!
- 1.
- Lightning fast developers are only as fast as their tools Simon
Maple & Alasdair Nottingham
wasdev.net
2.
- On 7 thOctober 2011, IBM released the WebSphere Application
Server V8.5 Alpha
-
- Extremely fast startup times
- 3. Tailored for developers
4. Lightweight 5. Simple Management 6. Modular design 7. Dynamic
runtime 8. Eclipse based tools 9. WAS fidelity 10. WASdev community
11.
- Frequency of Development Tasks
- Common development tasks include:
12. All tasks should be as painless as possible, with special
emphasis on the more frequent ones. If the time taken to accomplish
these tasks is an impediment to the development, the cost of the
fidelity of the test server runtime is challenged.
- Hourly Daily Weekly Monthly
- Modify file within an application
13. Debug a problem in an application 14. Restart/redeploy
application 15. Restart server 16. Share code with team 17. Change
app structure (add/remove a module/bundle) 18. Make config change
19. Share config change with team 20. Reproduce problem from
another environment 21. Upgrade to new service release 22. Create
application 23. Install server
24.
25.
- Every application requires some form of server configuration.
It must be easy to configure the server and work among a team
- Typical development tasks include:
-
- Creating new profiles, or cloning an existing server
- 26. Configuring the server to support an application
-
-
- Simple configuration changes (e.g. adding a data source) should
be equally simple to do, and not require any special
admin/production knowledge
-
- Sharing configurations (and changes) among a large team
-
-
- Configuration must be portable to different locations, and easy
to apply onto an existing server
-
- Comparing two configurations to understand the differences
-
-
- Configuration must be simple and human readable
-
- Versioning a configuration in source control
- 27. Moving an application between development machines
28.
29.
- Applications arealwaysbroken during development, due to bugs,
missing or incomplete code, or bad configuration. The server must
make it easy for developers to identify and resolve problems within
their application
- Runtime must be robust, and react well to malformed apps. It
should allow as much of the app to run as possible, so that a bug
in one area does not block testing in another
30. The console (SysOut/SysErr) is for humans, not logging. It
should:
-
- Be clear and concise, informing the user with simple
messages
- 31. Clearly identify the location of problems in the
application, helping developers to identify bugs
32. Never show stack traces, unless they come from the
application. Users should never be able to tell the server is
written in Java 33. Clearly differentiate between internal errors
and an error in the application 34.
35.
- It must be easy to debug and make changes to a running
application
- Incremental publishing is the most frequent (and hence most
important) developer task. It must:
-
- Be consistent and predictable otherwise developers will resort
to doing a slower app or server restart
- 36. Be robust same behavior as reinstalling/restarting the
app
37. Have minimal loss of context to reduce retesting 38. Be
fine-grained or it wont perform (esp. remote) 39. Be fast enough
compare with Java debugging (near instantaneous)
- Doing this well requires:
-
- Good loose config ability to run from arbitrary structures on
disk, to reduce copying
- 40. Incremental/delta publishing
41. Auto-update/restart the runtime must react to changes and
make them live, or tell the user (including return code for tools)
why it didnt/cant
- Must be consistent across programming models!
42.
43.
- The server must be responsive to changes that are made during
development
- Performance focus for development (single user, low throughput)
is very different than production
44. Server must work well on older laptops, with slower hard
drives, constrained memory, and shared with tools, email, and web
browser 45. The most important paths are:
47. Installing an application
- Should scale appropriately with the size/requirements of the
application
48.
- What's the Liberty Profile?
- WAS V8.5 Alpha introduces:
- A new dynamic profile of WAS which is focused FIRST onthe
development experience
-
- Small footprint test server runtime
- 49. Simplified, shareable config
50. Fastest possible server start-up
- Fidelity with full-profile WAS
-
- Same containers, QoS as full-profile WAS
- 51. But radically refactored to focus on the development
experience
52. Extreme dynamicity to start what the app requires and no
more
- Initially focused on dev/test of web, mobile and OSGi
apps.
53.
- Highly composable runtime based on features
- runtime services config model
- jsf-2.0 webAppSecurity-1.0
54.
- Free & frictionless download ofdeveloper tools
55. Extends Eclipse JEE Helios (3.6) and Indigo (3.7) 56.
Available from:
-
- New WASdev community site:http://wasdev.net
- 57. Within Eclipse (Help MarketPlace)
58. Eclipse Marketplace web site
http://marketplace.eclipse.org/
- Get the WebSphere Dev Tools Easily
59.
- Free & frictionless download of theWAS runtimefor
development & test
60. New lightweight WAS Liberty profile is now available through
the WAS V8.5 Open Alpha program. 61. A zip download for web
application development -25 MB . Available from:
-
- New WASdev community site:http://wasdev.net
- 62. Within the WebSphere Development Eclipse
- Get the WAS Runtime Easily
wasdev.net 63.
- WAS V8.5 Alpha includes a lightweight, composable Liberty
profile of WAS.
-
- Withhigh fidelityto WAS V8 productionenvironment
- 64. Focusing on the needs of the developer
- Reduce overhead of common development tasks
65. Suitable for modest development hardware
- WebSphere Developer Tools for Eclipsedeliver tools for the most
popular WASprogramming models as Eclipse features.
66. Free with no time limit for development use
-
- Accelerates development time to productivity.
wasdev.net