Wiki source code of Home

Last modified by Pascal Robert on 2021/01/19 17:10

Show last authors
1 {{layout}}
2 {{layout-section ac:type="two_right_sidebar"}}
3 {{layout-cell}}
4 = About the WOCommunity =
5
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.
7
8 (% style="color: rgb(0,0,0);" %)The community is active in mainly two places right now:
9
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).
13
14 (% style="color: rgb(0,0,0);" %)
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 = About Project Wonder =
42
43 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.WebHome]] plug-in tools.
44
45 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.
46
47 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.
48
49 [[image:attach:EOF_1.png]]
50
51 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.
52
53 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.
54
55 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.
56
57 [[image:attach:modernWonderEclipse-small.png]]
58
59 \\
60
61 == Java on the Web, Done Right! ==
62
63 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.
64
65 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.
66
67 == What's in for Cocoa developers ==
68
69 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.
70
71 == It's to build Web applications, not Web sites ==
72
73 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.
74
75 == I’m a Cocoa developer, why should I use Project Wonder? ==
76
77 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.
78
79 == I'm a J2EE developer, why should I use Project Wonder? ==
80
81 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.
82
83 == What Project Wonder and WebObjects are not ==
84
85 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.Home.Frameworks.ERRest Framework.WebHome]]) or SOAP and send them to a browser.
86
87 == Contents ==
88
89 * [[doc:WEB.Home.Getting Started.WebHome]]
90 ** [[doc:WEB.Home.Getting Started.Project Wonder Installation.WebHome]]
91 ** [[doc:WEB.Home.Getting Started.Your First Project - Hello World.WebHome]]
92 ** [[doc:WEB.Home.Getting Started.Your First Rest Project.WebHome]]
93 ** [[doc:WEB.Home.Getting Started.Your First Framework.WebHome]]
94 ** [[doc:WEB.Home.Getting Started.Your First Deployment.WebHome]]
95 * [[doc:documentation.Home.Wonder Tutorials.Binary Frameworks Installation and Upgrade.WebHome]]
96 * [[Quickstart>>doc:documentation.Home.Frameworks.Project Wonder.Project WONDER-Quickstart.WebHome]]
97 * [[Example Applications from Wonder Source>>doc:WEB.Home.Getting Started.Example Applications.WebHome]]
98 * [[doc:documentation.Home.Frameworks.WebHome]]
99 * [[History>>doc:documentation.Home.Frameworks.Project Wonder.Project WONDER-History.WebHome]]
100 * [[Using Properties Files>>doc:documentation.Home.Frameworks.Project Wonder.Project Wonder Properties Files.WebHome]]
101 * [[doc:documentation.Home.Wonder Tutorials.WebHome]]
102 * [[doc:documentation.Home.Best Practices.WebHome]]
103 * [[JavaDoc API>>url:http://wocommunity.org/documents/javadoc/WebObjects/5.4.2/||shape="rect"]]
104 * [[doc:documentation.Home.How-tos.Testing.WebHome]]
105 * [[doc:documentation.Home.How-tos.Application Startup Troubleshooting.WebHome]]
106 * [[doc:WEB.Home.Acknowledgements.WebHome]]
107
108 == Deployment Tools ==
109
110 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.
111
112 * [[Deployment Overview>>doc:WO.Home.Deprecated.Overview.WebHome]]
113 * [[Wonder JavaMonitor & wotaskd>>doc:documentation.Home.Deployment.Wonder JavaMonitor and wotaskd.WebHome]]
114 * [[doc:documentation.Home.Deployment.WOAdaptorInfo.WebHome]]
115 * [[WOStats>>doc:documentation.Home.Deployment.Troubleshooting.Troubleshooting WOStats.WebHome]]
116
117 == Wonder Frameworks and Components ==
118
119 == Bug Reports and Enhancement Requests ==
120
121 * [[Wonder Bug/Issue Tracker>>url:https://github.com/wocommunity/wonder/issues||shape="rect"]]
122
123 == JavaDoc ==
124
125 Nightly build [[JavaDoc API>>url:https://jenkins.wocommunity.org/job/WonderLegacy/lastSuccessfulBuild/javadoc/index.html?overview-tree.html||shape="rect"]] on WOCommunity.org.
126
127 And there is [[JavaDoc API>>url:http://www.aurealis.de/webobjects/wonder/api/html/||shape="rect"]] generated by doxygen.
128 {{/layout-cell}}
129
130 {{layout-cell}}
131 = Our sponsors =
132
133 \\
134
135 [[~[~[image:attach:Gevity_Logo.jpg~]~]>>url:http://www.gevity.ca||shape="rect"]]
136
137 [[~[~[image:attach:logo_sdag.jpg~]~]>>url:http://www.selbstdenker.ag/||shape="rect"]]
138
139 [[~[~[image:attach:KHlogo.png~]~]>>url:http://knuckleheads.net/||shape="rect"]]
140
141 \\
142
143 \\
144
145 \\
146
147 \\
148
149 \\
150 {{/layout-cell}}
151 {{/layout-section}}
152 {{/layout}}