Stephen Smith's Blog

All things Sage 300…

Skills for Sage Web Development

with 14 comments

Last week I blogged on the Sage Developer training at Sage Summit. I’ve since received a few inquiries about what skills are needed in this area. So I thought I’d blog this week on desirable skills in this area along with a number of references where you can learn online.

All our Sage ERP products including Sage ERP Accpac, Sage ERP MAS 90/200, Sage ERP MAS 500 and Sage ERP X3 are somewhere on a Web journey, whether moving the entire product to the Web or adding integrations with various Connected Services. More and more ERP installations are being done in conjunction with a CRM installation whether SageCRM or Sage SLX and the CRM products are all well into their own web journeys. We are integrating in mobile applications that are all based on Web technologies like HTML5. We are offering all our products in both on-premise and cloud based configurations.

As we go down this road what skills should you master as a Development Partner or a Business Partner? What skills should you be looking for, as you hire new consultants? This blog posts looks at some of the technologies that we are using in our various products, where to learn about them and what skills are required. Remember that the Web is a fast changing world and the best skill to have is the ability to learn new things. To be enthusiastic about change and excited about the possibilities all these new technologies open up.

This blog posting is really about in-depth technical skills for Developers and Advanced Consultants. However there are also many new business metaphors to learn. For instance: does your company really embrace Social Media? More and more business is done as a result of interactions on Twitter, LinkedIn, Blogs, Facebook, Yammer, Quora, etc. How to get leads and do business in a much more cloud based web world is a whole other topic. But everyone should be trying their best to fully embrace the new Social business world.

This blog posting is quite forward looking and isn’t a commitment to any product roadmaps or commitment to inclusion of any given feature or technology to any specific products or versions. Sometimes learning a specific technique may not have immediate value, but often learning one thing makes learning a related similar thing easier later on.

I’ve blogged quite a bit on all these topics in the past and a good list is available here. If you are an Accpac DPP member then make sure you check out the Accpac DPP Wiki.


SData is Sage’s standard RESTful web services interface to all Sage applications. The main hub for information on SData is here. The definitive book on RESTful Web Services is by Leonard Richardson and Sam Ruby from O’Reilly Press.

Generally the good skills to have for SData are a working knowledge of RESTful Web Services and XML. If not RESTful, then SOAP web service knowledge would be second best.

Generally over time SData will become the preferred API to integrate to all Sage products.


SWT is the Sage Web Toolkit which is based on the Google Web Toolkit (GWT). This toolkit is SData aware (meaning all controls can be bound to SData feeds or properties). It supports drag and drop and has a visual UI designer.

For GWT, the Google web site has lots of good information. Plus Google is assembling an online GWT book. There are also many commercial books on GWT.

When programming with SWT you do all your coding in the Java programming language. So a good knowledge of Java is very helpful. There are many on-line resources, books and training courses on Java. Like any programming language you learn the most by doing, this is the only way to really learn. Personally, I like the book: Big Java by Cay Horstmann. Another popular book around the office is Effective Java by Joshua Bloch.

Although you do all your programming in Java, it still helps to know something about CSS, HTML and JavaScript. Again there are many books and courses on these as well as many on-line resources. JavaScript is going to become a bigger and bigger part in doing customizations for all Sage products.


As our products move to the cloud, whether in the manner of or as true SaaS solution, if development partners want to have their products hosted in the same manner then they will need to use our ERP product’s SDK and APIs and follow our best practices. Otherwise we won’t be able to host your application. Generally you use the same tools and techniques as on-premise, but with a few restrictions. For instance since everyone runs the same programs, then source code customizations can’t be allowed. Knowing something about the main Cloud platforms can only be a help like Amazon, Azure or Rackspace.


As everything becomes connected to the Internet security and privacy become bigger and bigger concerns. I’ve blogged a couple of times on this here and here. These will give you a starting point of what to look into.

Common Components

Many of our ERP packages use the same development tools or rely on the same server components. Here are a few examples that you may want to become familiar with.

Eclipse: is a programming IDE that is used both by Accpac and MAS-90/200 for program development. Both products include Eclipse plug-ins in their SDK and have documentation oriented to working in Eclipse. There are many on-line resources and books about Eclipse available.

Tomcat: Apache Tomcat is a Java application server that is used by both Accpac and SageCRM. There are many good online resources for Tomcat along with many books available. However the configuration and setup of Tomcat is handled, hopefully transparently, by our installation program, so the hope is that you don’t need to really know that much about it.

IIS: Most of our products use IIS if they require a Web Server. Accpac uses IIS to server up all static content as part of it’s SWT/SData framework. SageCRM also uses IIS and largely operates as an IIS extension. Again there are many on-line resources for IIS and many books on the topic. There is some trickiness to IIS, in that it is quite different on each version of Windows and can be confusion if you are jumping between versions.

Jakarta: Jakarta is the common name for the Apache Tomcat Connector to IIS. This component runs as an ISAPI filter, scans all requests to IIS and then intercepts the ones required by Tomcat and forwards them on. If we do our job right this should be configured by our installation program and you shouldn’t need to know about it.

Some Oldies but Goodies

As we move to the Web, don’t lose sight we are still built on the same technologies as before and a good foundation in these is a key to success.

SQL Server: All the Sage mid-market ERP products and the associated CRM products now support SQL Server. When integrating multiple products together like ERP, CRM, HR and FAS then it’s best to use SQL Server since this is a common supported database across all of these. There are many on-line resources, courses and book on SQL Server. Having a good working knowledge of SQL server is a prerequisite for all Certified Installers.

Crystal Reports: All the Sage mid-market ERP products use Crystal Reports as their main reporting engine. Crystal Report’s website, along with a number of books, courses and online forums are good sources of information.

Windows Server:  A good knowledge of Windows Server (especially 2008R2) is a good benefit to any partner working with any Sage product. Windows Server has now been around for a long time so there are many on-line resources, courses and books that provide really good coverage. Especially what is effected by security and group settings which can have a big effect on how applications function.


Whether hiring new employees, evaluating new consultants or brushing up on your own skills, I hope this blog gives a few ideas of areas that would benefit you when working with Sage ERP over the coming transition to the Web and Cloud Computing.

Written by smist08

April 30, 2011 at 3:22 am

Posted in Business

Tagged with , ,

14 Responses

Subscribe to comments with RSS.

  1. Thanks for the update Stephen.

    For Accpac specifically, does SWT replace the Accpac SDK? And does one have to be enrolled in DPP to access SWT ?

    Thanks & Regards,
    Ubaidullah Nubar.

    Ubaidullah Nubar

    May 3, 2011 at 3:19 pm

    • SWT is now part of the SDK. Yes you need to be enrolled in DPP to access it.


      May 4, 2011 at 9:11 pm

  2. Hi Stephen ,
    have any conference or training session will arrange on SDK 6 in this year .



    June 27, 2011 at 10:47 am

    • Yes. Have a look at: The 5 part series on the SDK and the SData sessions are all on the version 6 SDK.


      June 27, 2011 at 2:45 pm

      • Thanks Smith.
        it may be held at Washington, But i want to know any plan to organize training or seminar at south asia like singapore , thailand or else.

        last year i was attained your session which was held at thailand.
        please let me know



        June 30, 2011 at 4:08 am

      • I’m not sure if plans for Asia are set yet. But will let you know once they are confirmed.


        June 30, 2011 at 4:22 am

  3. Hi Smith,
    i have installed ACCPAC 6.0 & Norming Asset Management. In deskotop based everythig is ok but in Portal i can’t see Administrative Service & Norming Asset Module. How i add this in my portal



    July 3, 2011 at 6:10 am

    • We don’t include the A/S programs because some of them require a special environment to run. Later versions of the portal should provide this. For Norming, check with them to see if they have a portlet map XML file available to get their icons in the Portal. This is probably much easier than you having to write it.


      July 3, 2011 at 9:20 pm

  4. I’m wondering what the difference is between SWT and sData… can I develop a web-based application that ties into our Sage ERP Accpac 6.0 server using just sData? If so, why would one pay for the membership required to obtain SWT if they can do it for free using sData?


    September 19, 2011 at 3:52 pm

    • You can access Accpac just using SData. SData is an interface that is always present in Accpac 6, just like the Accpac COM API is always present. Just like you need the Accpac SDK to develop VB UIs that are exactly like Accpac UIs, so you need the full SWT to develop Web UIs just like the Accpac ones. Its just a matter of what you are looking to do.


      September 19, 2011 at 7:08 pm

  5. Hi Stephen,

    I am a developer with experience in all types of web services and I am interested in being able to interface with the Sage 50 Quantum product. Does sage 50 Quantum provide access via SData/SWT ?

    Best Regards,

    • Sorry, but Sage 50 doesn’t support this.


      April 15, 2013 at 11:44 pm

  6. Smith,

    I would like to equip my team with the knowledge on SData, SWT, etc., which are required to bridge Sage 300 ERP with web based software / online portals. I believe having sound knowledge in these would help me to work better on integration programs. Am I right here?

    Any plans to conduct a training on these at Sage Asia in the coming months?

    Sundaresan Ramanathan

    December 7, 2013 at 9:19 am

    • We’re not going forwards with the SWT technology anymore. This was discontinued along with project Orion. We have a new replacement project underway, but haven’t reached the point of giving details or beginning training yet. You might have a look at my last few blog postings to get an idea of the direction we are going in. Although SData is in the product and supported, its main value is going to be with the Sage Data Cloud which will be available to ISVs at some point. Once the new Sage 300 web project is further along, I’m sure myself or someone else will come to Asia to give training.


      December 7, 2013 at 5:19 pm

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: