Wiki source code of Home

Version 80.1 by Bastian Triller on 2023/11/13 11:54

Hide last authors
Pascal Robert 64.1 1 {{layout}}
2 {{layout-section ac:type="two_right_sidebar"}}
3 {{layout-cell}}
Maik Musall 71.1 4 = About the WOCommunity =
Maik Musall 70.1 5
Maik Musall 71.1 6 (% style="color: rgb(0,0,0);" %)The WOCommunity mission is to support, motivate, and enable WOCommunity activities and projects. Our main project is Project Wonder, a collection of frameworks that sits on top of Apple's WebObjects Web application server and frameworks.
Maik Musall 70.1 7
Maik Musall 74.1 8 (% style="color: rgb(0,0,0);" %)The community is active in mainly two places right now:
Maik Musall 73.1 9
Maik Musall 74.1 10 * (% style="color: rgb(0,0,0);" %)[[The old mailing list>>url:https://lists.apple.com/mailman/listinfo/webobjects-dev||shape="rect"]]
11 * (% style="color: rgb(0,0,0);" %)[[The new mailing list>>url:https://lists.wocommunity.org/Lists/webobjects-dev/List.html||shape="rect"]] (as the old one is no longer functioning)
12 * (% style="color: rgb(0,0,0);" %)[[The Slack channel>>url:https://wocommunity.slack.com/||shape="rect"]] (not public unfortunately, just send a notice on the mailing list to get someone to invite you).
Maik Musall 73.1 13
Maik Musall 74.1 14 (% style="color: rgb(0,0,0);" %)
Maik Musall 73.1 15
16
Maik Musall 75.2 17
Mike Schrag 76.1 18
Maik Musall 77.1 19
Bastian Triller 78.1 20
Pascal Robert 79.1 21
Bastian Triller 80.1 22
Pascal Robert 46.1 23 = About Project Wonder =
Pascal Robert 17.1 24
Pascal Robert 64.1 25 Project Wonder is the largest open source collection of reusable WebObjects frameworks, applications and extensions. Also included in Project Wonder are deployment software and web server adaptors. Project Wonder development is done within the [[Eclipse>>url:http://www.eclipse.org/||shape="rect"]] IDE with the [[WOLips>>doc:WOL.Home]] plug-in tools.
Pascal Robert 17.1 26
Pascal Robert 46.1 27 WebObjects was initially created at NeXT. There was a framework called DBKit, which provided a way to abstract legacy databases to an object-relational graph. This framework later became the Enterprise Objects Framework (EOF). EOF was used to build nibware, runnable applications for NeXTStep/OpenStep that were built with Project Builder and which used interfaces that were designed in Interface Builder. If this sounds familiar, it is because the ideas from that time have only been refined, and not fundamentally changed, to become the Cocoa frameworks for applications running on Mac OS X and iOS today.
Pascal Robert 17.1 28
Pascal Robert 46.1 29 WebObjects was built on top of DBKit/EOF to provide a way to create dynamic applications for the web. The first versions of WebObjects were created at NeXT around the latter half of 1992.
Pascal Robert 17.1 30
Pascal Robert 64.1 31 [[image:attach:EOF_1.png]]
Pascal Robert 46.1 32
Maik Musall 71.1 33 Nearly 20 years later, Project Wonder and the [[WebObjects Community>>url:http://www.wocommunity.org/||shape="rect"]] actively support the development of WebObjects based applications.
Pascal Robert 46.1 34
35 Project Wonder started its life as a collection of open source frameworks build on top of Apple's WebObjects. Over time, Wonder became as large as WebObjects and not only provided complimentary frameworks but also provided fixes for WebObjects bugs, and development and deployment tools. Starting with Snow Leopard, Apple stopped providing releases of WebObjects outside Apple, but the community love WebObjects so much that we decided to continue development with Project Wonder.
36
37 It provides a powerful and mature set of Object-Oriented frameworks for managing Object-Relational Mapping (ORM) to any JDBC-compliant database, Session Management, Undo/Redo/Revert, Ajax, Web Services, full Java Client applications, Rapid Application Development, file upload/download and many other popular internet and enterprise application technologies.
38
Pascal Robert 64.1 39 [[image:attach:modernWonderEclipse-small.png]]
Pascal Robert 46.1 40
Maik Musall 74.1 41 \\
Pascal Robert 46.1 42
Pascal Robert 64.1 43 == Java on the Web, Done Right! ==
44
Pascal Robert 46.1 45 Enjoy working in a clean and elegantly designed set of coherent, consistent frameworks. Delight in spending your time implementing features instead of fussing with infrastructure. You don't have to deal with EJB, J2EE containers, Struts and the like. There is no need to hand edit XML and use dependancy injection to get the pieces to co-operate. Of course, WebObjects has full access to the universe of Java libraries (JavaMail, Apache projects, etc.) and the cross platform portability that Java developers depend on.
46
47 You can develop and deploy on any OS that can run Java (the WebObjects license does says that you have to develop on Apple hardware, so developing in Windows or Linux on a Mac is ok). This allow you to use other Java libraries with Project Wonder, many in the community use libraries and tools like Apache Commons inside their WebObjects apps.
48
49 == What's in for Cocoa developers ==
50
51 Since WebObjects was in Objective-C in the past, it shares some design patterns with Cocoa. You use Cocoa because you like clean APIs, good tools, faster development process and turnaround, and KVC ? WebObjects, because of its NeXT foundation, shares a lot of concepts coming from Cocoa (especially Foundation). You don't use java.util.Vector, you use com.webobjects.foundation.NSArray, which should be familiar to you. You can also use Project Wonder as a back-end for your Cocoa (and Cocoa touch) application, in fact many members of the community use Project Wonder as the back-end of their iOS applications.
52
53 == It's to build Web applications, not Web sites ==
54
55 You might have notice that Project Wonder is not used on many "public" Web sites, and the main reason to that is that Project Wonder was made to build Web applications, not Web sites. If you only want to have a contact form or make a read-only Web site, Project Wonder is not a tool for that. But if you need to build a Web app that needs to fetch and update content, WebObjects is your friend. It's funny to see people go crazy over some Web frameworks to create Web apps, because WebObjects was doing that since day one.
56
57 == I’m a Cocoa developer, why should I use Project Wonder? ==
58
59 Well, you use Cocoa because you like clean APIs, good tools, faster development process and turnaround, and KVC ? WebObjects, because of its NeXT foundation, shares a lot of concepts coming from Cocoa (especially Foundation). You don’t use java.util.Vector, you use NSArray, which should be familiar to you. You can also use Project Wonder as a back-end for your Cocoa (and Cocoa touch) application.
60
61 == I'm a J2EE developer, why should I use Project Wonder? ==
62
63 If you are a J2EE developer, forget what you learned about EJB and Struts, you will be glad to use EOF and components instead. But the fun part is that you don't need to learn a new language. You can reuse some of the code of your J2EE apps, and the official Project Wonder IDE is based on Eclipse. If you ever used Apache Cayenne or Tapestry, you will feel even more at home.
64
Pascal Robert 58.1 65 == What Project Wonder and WebObjects are not ==
66
Pascal Robert 64.1 67 WebObjects is not a web page design tool. In fact, WebObjects does not have a WYSIWYG HTML editor (but the component editor is quite powerful). WebObjects uses your web pages (called templates) and adds dynamic content on the fly to make your application run. Also, WebObjects is not a framework for writing client side code. The objects you work with in WebObjects exist on the server only. If you are writing a complex client side JavaScript based application you can serialize your server objects via XML, JSON (by using [[ERRest>>doc:documentation.ERRest Framework]]) or SOAP and send them to a browser.
Pascal Robert 58.1 68
Pascal Robert 46.1 69 == Contents ==
70
Maik Musall 77.1 71 * [[doc:WEB.Home.Getting Started.WebHome]]
Pascal Robert 79.1 72 ** [[doc:WEB.Home.Getting Started.Project Wonder Installation.WebHome]]
Maik Musall 75.2 73 ** [[doc:WEB.Your First Project - Hello World]]
74 ** [[doc:WEB.Your First Rest Project]]
75 ** [[doc:WEB.Your First Framework]]
Bastian Triller 80.1 76 ** [[doc:WEB.Home.Getting Started.Your First Deployment.WebHome]]
Pascal Robert 64.1 77 * [[doc:documentation.Binary Frameworks Installation and Upgrade]]
78 * [[Quickstart>>doc:documentation.Project WONDER-Quickstart]]
Bastian Triller 78.1 79 * [[Example Applications from Wonder Source>>doc:WEB.Home.Getting Started.Example Applications.WebHome]]
Pascal Robert 64.1 80 * [[doc:documentation.Frameworks]]
81 * [[History>>doc:documentation.Project WONDER-History]]
82 * [[Using Properties Files>>doc:documentation.Project Wonder Properties Files]]
83 * [[doc:documentation.Wonder Tutorials]]
84 * [[doc:documentation.Best Practices]]
85 * [[JavaDoc API>>url:http://wocommunity.org/documents/javadoc/WebObjects/5.4.2/||shape="rect"]]
86 * [[doc:documentation.Testing]]
87 * [[doc:documentation.Application Startup Troubleshooting]]
Mike Schrag 76.1 88 * [[doc:WEB.Home.Acknowledgements.WebHome]]
Pascal Robert 46.1 89
90 == Deployment Tools ==
91
Pascal Robert 64.1 92 WebObjects 5.4 was released with the source code for JavaMonitor and wotaskd as Example Source. If you have WO 5.4 installed, these should be on your file system at /Developer/Examples/JavaWebObjects. These projects were imported into Wonder, bug fixed and enhanced.
Pascal Robert 46.1 93
Pascal Robert 64.1 94 * [[Deployment Overview>>doc:WO.Overview]]
95 * [[Wonder JavaMonitor & wotaskd>>doc:documentation.Wonder JavaMonitor and wotaskd]]
96 * [[doc:documentation.WOAdaptorInfo]]
97 * [[WOStats>>doc:documentation.Troubleshooting WOStats]]
Pascal Robert 46.1 98
99 == Wonder Frameworks and Components ==
100
101 == Bug Reports and Enhancement Requests ==
102
Pascal Robert 64.1 103 * [[Wonder Bug/Issue Tracker>>url:https://github.com/wocommunity/wonder/issues||shape="rect"]]
Pascal Robert 46.1 104
105 == JavaDoc ==
106
Ray Kiddy 72.1 107 Nightly build [[JavaDoc API>>url:https://jenkins.wocommunity.org/job/WonderLegacy/lastSuccessfulBuild/javadoc/index.html?overview-tree.html||shape="rect"]] on WOCommunity.org.
Pascal Robert 46.1 108
Pascal Robert 64.1 109 And there is [[JavaDoc API>>url:http://www.aurealis.de/webobjects/wonder/api/html/||shape="rect"]] generated by doxygen.
110 {{/layout-cell}}
111
112 {{layout-cell}}
113 = Our sponsors =
114
Maik Musall 74.1 115 \\
Pascal Robert 64.1 116
Pascal Robert 67.1 117 [[~[~[image:attach:Gevity_Logo.jpg~]~]>>url:http://www.gevity.ca||shape="rect"]]
Pascal Robert 65.1 118
Pascal Robert 64.1 119 [[~[~[image:attach:logo_sdag.jpg~]~]>>url:http://www.selbstdenker.ag/||shape="rect"]]
120
121 [[~[~[image:attach:KHlogo.png~]~]>>url:http://knuckleheads.net/||shape="rect"]]
122
Maik Musall 74.1 123 \\
Pascal Robert 64.1 124
Maik Musall 74.1 125 \\
Pascal Robert 64.1 126
Maik Musall 74.1 127 \\
Pascal Robert 64.1 128
Maik Musall 74.1 129 \\
Pascal Robert 64.1 130
Maik Musall 74.1 131 \\
Pascal Robert 64.1 132 {{/layout-cell}}
133 {{/layout-section}}
134 {{/layout}}