Stephen Smith's Blog

Musings on Machine Learning…

Archive for October 2010

To SDK or Not to SDK

with 7 comments

That is the question. With Sage ERP Accpac there is a lot of customization capabilities and programming APIs built in including VBA macros and the Accpac COM API, but then there is the Software Development Kit or SDK (http://en.wikipedia.org/wiki/Software_development_kit). A common question is: Do I need the SDK to do this or that? In this blog posting we will see what you can do without the SDK and what you require the SDK to do.

The core Accpac System Manager contains many components and tools that are installed as part of the regular product. These are all required for the normal use of Accpac. For instance all our User Interface Forms use our COM API to communicate with the Business Logic, so this interface must be installed with System Manager and as a result if fully usable from any COM aware programming system (like VB) without anything else being required. In the same way, the VBA macro system is installed as part of System Manager.

Although there is an SDK installation that you install and use on your computer, we don’t sell that as a product. What we sell is an ISV program that includes the SDK, along with access to online resources like a Wiki, programming support calls and other programs like discounts for trade show booths. So even if you don’t need the SDK installation part, you might still want to sign up for the ISV program for some of the other benefits. Especially the support, since this is the only way you can get support on programming type problems.

Without the SDK

Macros

The Accpac macro language is VBA (http://en.wikipedia.org/wiki/Visual_Basic_for_Applications). You can use this to automate processes and customize UIs. It is a very powerful feature of the core Accpac System Manager. From VBA you have access to all the Accpac Business Logic.

External APIs

These are APIs that are built into the core Accpac System Manager that allow external programs to connect to Accpac and use the Accpac Business Logic. These APIs include the Accpac COM API (also used by VBA) and the .Net Interface. In the forthcoming Accpac 6.0 there will also be a Java Native Interface (JNI, http://en.wikipedia.org/wiki/Java_Native_Interface) and the SData RESTful web services interface (https://smist08.wordpress.com/2009/11/24/sdata-in-sage-erp-accpac-6/).

Crystal Reports

Crystal Reports (http://en.wikipedia.org/wiki/Crystal_Reports) is not part of the SDK. If you want to customize reports in Accpac, you need the Crystal Reports Designer (available separately). With this you can open and customize any report in Accpac (except Financial Reports which are done in Excel). When customizing reports, consider putting them in a customization directory (see administrative services) rather than just customizing the report Accpac installed in place, since it might get overwritten by a product update later.

Tools

System Manager includes a number of useful tools under the Tools folder of its start menu entry. Many of these like RVSpy are very useful when developing macros or programming the external interfaces. Below is the U.I. Info tool that is included with System Manager.

With the SDK

The goal of the SDK is to let third parties write accounting modules just like Sage writes Accpac accounting modules like Accounts Receivable or Order Entry. In fact our own developers of these products use the same SDK that we make available. Some examples of third party applications developed this way are Technisoft Service Manager (http://www.technisoft.com/), Norming Asset Management (http://www.norming.com/), Peresoft Cashbooks (http://www.peresoft.com/) or AutoSimply (http://www.autosimply.com/).

The SDK gives you all the header files and libraries to develop with C/C++. It gives you templates for create Accpac User Interface Forms and Views (Business Logic Objects). It gives you a large set of tools to help you develop with. Many of these tools are added to Accpac as a regular Accpac application see below.

If you look in an accounting application directory such as AR56A you will see a number of small files like roto.dat or eng\grp.dat. The SDK contains command line tools to create these files. Basically it is everything you need to develop a complete Accpac application.

When you create your application with the SDK you get all the functionality of a full Accpac application with very little extra work. For instance your application will:

  • Fully support VBA – you are as customizable as any other Accpac application
  • Your Business Logic will be available through all the external APIs
  • Will use  the standard Accpac Import/Export
  • Your UIs will look, feel and behave like any other Accpac screen – you will use the same controls like Finders, grids and navigation controls
  • Runs from the Sage Accpac desktop, and the Sage Accpac Web-desktop
  • Will participate in data activation, database dump/load and all other Accpac database operations like database transactions

Add-Ins

Add-ins are developed in the same manner as full SDK modules. However their goal isn’t to be a standalone application. Their goal is to add to or change the functionality of existing Accpac modules. They can alter the behavior of the business logic, as well as add their own business logic, UIs and reports.

The key feature add-ins are using is that the Accpac business logic can be “subclassed”. That means you can create a new business logic object that sits in front of the Accpac one and process all the calls first. These subclasses are chained, so there could be several add-ins all subclassing the same Accpac business logic object. This is a very powerful form of customization, in that it customizes the behavior for everything that uses the business logic including import/export, macros, external programs as well as UIs. Whereas UI customization only affects the customized UI.

An example of an Add-in is the Accpac SageCRM integration module. This module, once activated has a few UIs, but its main purpose is to subclass a number of Accpac business logic object and when they are called, make corresponding changes in SageCRM. For instance when you update a customer’s information in Accpac, the SageCRM’s subclass Views sees the changes and calls SageCRM’s API to make the corresponding change there.

Summary

As you can see, you can develop quite a few powerful customizations and integrations without using the SDK at all. So how do you choose when to use the SDK? Main reasons to use the SDK:

  • Create a full Accpac accounting module
  • Create an add-in with subclass business logic objects
  • Want to get the 12 free developer support calls per year
  • Want the full Accpac SKD documentation to better understand the workings of Accpac

Some of the main things that you don’t need the SDK for:

  • Create a macro to customize a UI
  • Create a macro to import data
  • Create an integration via the COM API or .Net interface to an external program

This is a guide, as with anything in computing there are always exceptions, but hopefully this gives some guidance.

Advertisements

Written by smist08

October 30, 2010 at 9:01 pm

Posted in sage 300

Tagged with ,

Efficient Data Entry in Accpac

with 3 comments

Many people are happy to use the mouse extensively while doing data entry, are happy looking up everything in Finders and are happy to consider many fields when entering an accounting document; but, Sage ERP Accpac 5.6A has many productivity features to help you enter data very quickly and efficiently like keyboard shortcuts, good default field values and hiding unused fields. This blog post covers a number of Accpac features that can effectively make you more productive. We will look at the Accpac Order Entry screen and what features are available to make you more productive. Below is the Accpac Order Entry screen:

This is a fairly large screen with many options and potentially many fields to enter. You certainly don’t want to think of and type something into every single field.

The Accpac documentation lists all the Accpac keyboard shortcuts in the on-line help, but beyond these Windows has many keyboard shortcuts as well and often these are not well documented. Below is part of the keyboard shortcuts section from the online help:

 Setup Defaults

Accpac has some powerful methods of defaulting fields. Many fields are defaulted to what you want when you choose a customer or an order template. It is well worth your time setting up all your customer records correctly or setup a series of order templates, so that you don’t have to override very many fields when entering orders. It is assumed that you set up the customer or template once, and then enter many orders for that customer or with that template. Saving time at order entry is what you want to do.

Use the Alt Key

First notice any notebook tabs or buttons that have letter underlined in them such as the “Customer” notebook tab. The underlined letter means that you can press this by holding down the Alt key and pressing the underlined letter, in this case Alt-u. This is a handy shortcut to choose notebook tabs, press buttons or access menu items right from the keyboard without reaching for the mouse, or having to move the mouse over the button or tab and clicking it. On some versions of Windows these underlines are hidden until you press the Alt key. Sometime there are shortcuts on groups of fields that you can use the Alt key to quickly move to (but not in Order Entry).

Zoom Forms

Each data entry grid (or table) on the Accpac main data entry screen has a “zoom” form. Generally Accpac has so many features that by default each table is very long with many columns and you have to do a lot of horizontal scrolling to see them all. This can be annoying. You have two options. One is to use the grid controls ability to hide columns to eliminate ones you don’t use, the other is to use the Zoom form. If focus in on the grid hitting F9 will bring up the Zoom form, many forms (like Order Entry) have a button to access it (which doesn’t require focus be on the grid). In Order Entry this the Item/Tax button that you can shortcut with Alt-a. This then gives you a form that contains all the columns from the grid in its own form where you can see all the fields at once. From this form you can create new detail lines and navigate around the existing ones.

Tabbing

The keyboard way to get from field to field is via the Tab key (sorry DOS users not the Enter key). One way to move from field to field quicker is to hide any fields that you don’t use. To do this, use the File – Customize menu to hide the un-used fields. In the grid control, hide a column by sizing it down to nothing. Using a macro you can re-arrange the tab sequence or remove fields from the tab sequence without hiding them.

Grid/Tables

The key to using the grid effectively is to customize it to be optimum for your data entry. Hide any fields you don’t use and move any rarely used fields to the end of the line. Have the most frequently used fields at the front. You hide fields by sizing them down to zero width. Once hidden you can get a field back by right clicking on the Grid’s column headings and selecting the hidden field (or choose restore defaults to get everything back).

Reducing the number of columns is nice because you tab through less fields, don’t need to scroll horizontally so much and when you are entering lines when you tab off the end of one line, the grid automatically creates a new line so you can continue entering data un-interrupted (which you reach quicker with less columns).

Edit Controls

Edit controls aren’t all that interesting. You can right click on them to get a context menu to do things like cut and paste. All the normal shortcuts for cut and paste work fine here. More interesting are edit controls with finders or new buttons. You can activate the new button by hitting the Insert key. Page Up/Page Down will navigate to next and previous records. Ctrl-pageup/ctrl-pagedown will go to the first and last records. F5 will activate the finder.

The concept of entering data here is to use short quick to type codes for things. This is very much how super-markets do their produce checkout. Rather than using a lookup function for every produce item being weighed, the clerks have most of them memorized and just quickly enter produce codes and only need to lookup obscure pieces of produce being bought. Accpac is the same way. Once you’ve been entering data for a while you remember the main customer numbers and item numbers and can type them in very quickly without using the Finder. It works best if frequently used items have short numbers and you can process them quickly, and then just glance at the description field to ensure you are correct.

Fast Order Entry

Let’s see how to configure O/E Order Entry for maximum efficiency to enter simple orders. We will assume that the defaults brought in for the customer will set most header fields correctly and that we only need to enter the customer number, then the items and quantities. Below is the Order Entry screen where we’ve hidden most of the fields using the File – Customize menu and we’ve hidden most of the columns in the order line grid.

Below is the UI Profile listing all the fields we hid:

So let’s see what it now takes to enter an order. We will assume you start with a current order selected and focus in the Order No. field.

  • Hit the “Insert” key to create a new order.
  • Hit “Tab” to get to the customer number field.
  • Type the customer number (say “1200” if you are using sample data).
  • Hit “Tab” until you get to the order detail grid (in my case twice once to move to the customer information drilldown and then again to get to the grid, this depends on how many fields you have hidden).
  • Hit “Tab” to move to the item entry field
  • Type an item number (say “A11030” for sample data).
  • Hit Tab twice to move to the Quantity ordered field
  • Enter the quantity (say 2)
  • Hit tab and a new row is created.
  • At this point continue entering items and quantities until done.
  • Now press Alt-S to post the order
  • Hit Y or N depending on whether you want to print the order confirmation.

This was rather a long procedure to enter an order, but it is key by key. In total we hit Insert once, tab 7 times, Alt-S and the number of characters in the customer number, invoice number and quantity. Generally this is an extremely economical way to enter orders.

Summary

Hopefully this blog posting gave you some ideas on how to setup Accpac for efficient data entry and provided some information on some keyboard shortcuts that can speed up your data entry. Other screens have special productivity helping features like quick entry modes, be sure to check these out too. Happy typing.

Written by smist08

October 23, 2010 at 4:34 pm

Posted in sage 300

Tagged with , ,

Sage ERP Accpac 6.0A Compelling Installed Base Value

with one comment

As we finish preparing Sage ERP Accpac 6.0A for release, much of the buzz around this release is the new Web Based technology platform. But for existing Accpac customers, what is the compelling business value? Why will existing customers want to upgrade? Will this upgrade be disruptive?

Upgrade Costs

A lot of times choosing to upgrade is a matter of balancing the costs of the upgrade versus the benefits of running the new software. This release is a little different from the past few releases where we were updating the accounting functionality. In the past few releases the costs of an upgrade were taken up by things like the time to convert the database to the new version, the time to verify and update customized reports, the time to verify and update macros and other customizations and then the time of training on any new or affected existing features. With version 6, the database conversion is much smaller than the past few releases and the changes to the database and Accpac Views is very minimal. This means that database activation should be relatively quick and painless, and that very few changes are required to existing customized reports and macros. In fact you could just install the version 6 update to the existing functionality, activate to version 6 and be done. This would reduce your upgrade cost, but not give you the full benefit of the new version (you would still get the lock fiscal periods by module functionality).

The main new features of Accpac 6 are accessed from the new Accpac Web based Portal (or in the case of the new CRM Integration, requires that this be installed). This requires a Web server to run. If you are already using SageCRM then you already have a Web Server and just need to determine if it has the spare capacity to run Accpac as well (which it might already be doing via the current CRM integration). Or you might have a file server that is only doing file serving and has plenty of spare capacity to run the Accpac web components. Otherwise you will need a new server. Installing the new Web components is largely the same as installing Accpac on a current file server, since all the new web components are installed as part of this process. For more information see: https://smist08.wordpress.com/2010/10/02/installing-and-deploying-sage-erp-accpac-6-0a/.

Upgrade Benefits

When we were deciding on the roadmap for rolling in out the new Accpac 6 platform there was a lot of debate about whether to roll out modules (like G/L) ported to the new web based architecture first, or to roll out new features first. A lot of this discussion focused on who would benefit: new users versus the installed base. We do a lot of surveying of customers and a lot of visiting customers to determine what the real pain points are and what the real business needs are. From these studies it was clear that improved reporting, improved business intelligence and improved CRM integration were of a higher need than getting existing modules in the new framework. So below we’ll quickly mention each feature and its benefit to current Accpac users.

Locking Fiscal Periods by Module

One very frequently requested feature is the ability to lock fiscal periods by module. This is now incorporated into Accpac and available to all users whether you use the new web component or not. This is a top vote getter from our idea suggestion web site. This feature gives you the ability say to lock a fiscal period for AR, AP, IC, OE, PO but keep it open for GL as you finish up month end. For more information on this see: https://smist08.wordpress.com/2010/02/19/sage-erp-accpac-6-0-%E2%80%93-locking-fiscal-periods-by-module/.

Reporting and Business Intelligence

A very common feature request is more and better reporting and business intelligence. We made improvements here in 5.6A with the addition on Accpac Intelligence. With 6.0 we continue with the addition of the Portal Dashboards and the new Accpac Inquiry Tool. The goal of the Portal Dashboard is to give you an instant view of the state of your business in a simple graphical snapshot. For more information on the new dashboard see: https://smist08.wordpress.com/2009/12/24/sage-erp-accpac-6-0-data-portlets/. The goal of the new Accpac Inquiry tool is to give you a simple way to view your data without requiring custom Crystal reports. We made the tool extremely simple so that anyone can easily use it to study their Accounting data and to use it to make informed business decisions. For more information on Accpac Inquiry (called Adhoc Query when I wrote this blog article) see: https://smist08.wordpress.com/2009/12/11/sage-erp-accpac-6-0-adhoc-query/.

The New Web Portal

The new Web based portal is a new launch point for doing your work in Accpac. You use it to access all the new functionality including running Accpac Inquiry and viewing the new Dashboards. Plus you can run any existing accounting screens from the Tasks menu or from the easily customized shortcuts bar. For more information on the new portal see:  https://smist08.wordpress.com/2009/12/03/the-sage-erp-accpac-6-0a-portal/ and for more information on running accounting screens see:  https://smist08.wordpress.com/2010/06/12/running-classic-forms-in-sage-erp-accpac-6/.

Lowering TCO

A key initiative as we move forward is to reduce the Total Cost of Ownership (TCO). This includes making installation and upgrading to new versions easier, providing better active help to prevent you getting stuck and arranging forms for maximum productivity. For all the new features we are developing we are spending a lot of time making sure they are easy to learn and once learned you can use them very efficiently. Hopefully you will see this new ease of use in the new Portal and in the new SageCRM integration components for Quotes to Orders.

The goal in the end is to have a single server install and to not require anything be installed on the workstations, so for an upgrade one simple install is all that is required.  We won’t be there until all the accounting screens are moved over to the new framework, but this is the start of that journey.

However as we do move to the new Web accounting screens we will still leave the current Windows screens in place. This allows you to go to these new versions, but to move to the web screens at your own pace. You can even run a mixture of forms since they all access Accpac through shared business logic. This means that if you have invested heavily in customizations, you can keep using these, you don’t need to invest in moving these to the new screens. You can also choose to have some users use the new screens, some the current by the individual user’s preference. Sometimes people have such good muscle memory of using the current screens they can enter data in their sleep and don’t want to lose that productivity.

For more information on TCO see: https://smist08.wordpress.com/2010/03/12/on-total-cost-of-ownership/. For more information on the new User Assistance (help) system see: https://smist08.wordpress.com/2010/06/19/sage-erp-accpac-6-user-assistance/.

Quotes to Orders

SageCRM is already a nice modern Web based application. A common complaint about our CRM integration is that whenever you run an Accpac screen a Windows form leaps up out of the nice CRM web pages. This is disjointing and makes it clear you are running two applications. With Quotes to Orders we have developed web based versions of various screens to do with quote and order entry using the new framework and included them in our CRM integration. So now the Accpac screens are styled like CRM pages and make it appear as if you are staying in one application as you move between CRM pages and Accpac pages. In addition the quote and order screens have been made far easier to use by sales people so that they can be more productive taking orders. For more info on Quote to Orders see:  https://smist08.wordpress.com/2009/12/17/sage-erp-accpac-6-0-quote-to-orders/.

 

Summary

Sometime people just see upgrading as a cost of doing business; that they have to do it now and again to remain supported and to work properly on the newest versions of Windows, Office or other components. We do want to make upgrading have a lot more value than this. And we do want to reduce the disruption and cost that upgrading entails.

We’ve worked hard to reduce the costs of upgrading and worked hard to maximize the value by listening to what you the customer really wants. Hopefully this approach has provided sufficient ROI that people will want to upgrade and the percentage of people that do will be quite high. Hopefully this approach gives you confidence in the future of Accpac that we are actively developing useful new features and technologies while protecting the investments you have made in the present.

Written by smist08

October 16, 2010 at 4:44 pm

Posted in sage 300

Tagged with , , ,

Sage ERP Accpac 6 Competitive Advantages

with 3 comments

Introduction

A key goal of the Sage ERP Accpac 6.x series is to completely revamp the Accpac User Interface technology. The goal is to transform Accpac into a technologically leading product again. We want to ensure that through this technology transformation we make Accpac an extremely competitive market leading product. This blog post will look at the technologies being incorporated into the Accpac 6.x platform and compares them to other technologies to highlight a few of the differentiators that set Accpac apart. We will also examine what we will be able to do with the building blocks being put in place.

This blog posting talks about the technologies being incorporated to make Accpac more competitive. However there is much more to competitiveness than the technology platform being used. We are also making changes to business models, marketing, product features, integrations, migrations, verticals, etc. All of these have just as big an impact on competitiveness as technology. All of these reflect that Accpac isn’t sitting still, but that all departments are moving ahead at a rapid pace to stay ahead of the constant change that we see in the market today. But I’ll leave those topics to other people’s blogs.

Usability

Besides advancing to more modern technologies and providing a platform for future development, we are taking the opportunity of a User Interface rewrite to give the product a usability rework in the process. The goal is to greatly improve the learnability of the product, and to greatly increase the productivity of customers. This is from performing extensive end user testing and from applying modern user interface design techniques. Typically applying advanced usability to an ERP product has been the domain of small business products like Simply Accounting or Peachtree. We are looking to bring the ease of use of a small business product to the mid-market space and to develop this into another competitive advantage. We are also looking to greatly improve our user assistance, for more see: https://smist08.wordpress.com/2010/06/19/sage-erp-accpac-6-user-assistance/.

Technology Direction

The general trend in technology is to go Web. The question isn’t whether, but how and when. A key trend driving this is that people just don’t want to install software anymore. It’s a pain. They want to just browse to a web site, possibly sign up, log on and work. People have many devices whether a PC or Mac, iPad, iPhone or Android. Ideally they would like to do their work from any of these and not have any hassles of downloading and installing applications. This trend on the front end is well underway without any resistance to adoption. On the back end many people are asking the same questions, why do we need to maintain all this server and network infrastructure? How do we reduce these costs and just have our applications work. This is driving SaaS (http://en.wikipedia.org/wiki/Software_as_a_service). This is still underway with many problems still being solved like protection and privacy of data, what happens if you SaaS application goes out of business, control, customizability, etc.

We are fully embracing the new Web based technologies. With our Accpac 5.x platform we were web deployed but relying on ActiveX controls and IE to provide the foundation. These caused problems with security, reliability, ease of use and performance. Learning from this lesson we have gone in the complete opposite direction, writing our new UIs in pure HTML/JavaScript and not relying on any ActiveX controls, Java Applets, Browser Plug-ins or anything else that can cause installation or usage roadblocks. All we require is a modern Browser that runs HTML and JavaScript well.

Many of our competitors continue to develop Windows desktop applications using technologies like .Net WinForms (http://en.wikipedia.org/wiki/Windows_Forms), Java Swing (http://en.wikipedia.org/wiki/Swing_(Java)) or WPF (http://en.wikipedia.org/wiki/Windows_Presentation_Foundation). These applications will only run on Windows, they will not run on mobile devices, Macs or Linux PCs. They are designed exclusively for PC sized monitors and will only run on Intel/AMD hardware. The claim is that they can give a richer user experience than Web based applications, which perhaps true ten years ago, is no longer true today. Currently applications written with HTML4 can easily match the richness while applications embracing HTML5 will exceed this richness of interaction, while remaining open and device/hardware/operating system independent. Typically such applications haven’t reached the ease of use level common in Web applications like Facebook or Gmail.

Many of our competitors still use ActiveX controls (http://en.wikipedia.org/wiki/ActiveX) and Java Applets (http://en.wikipedia.org/wiki/Java_applet). Again requiring special plug-ins or limiting browser and device choices. These are really just ways to start Windows applications from inside the Browser.

Many of our competitors have gone with Adobe Flex/Flash (http://en.wikipedia.org/wiki/Adobe_Flex) to create their Web Based UIs. The problem with these is that you require an Adobe plug-in for your browser for these to operate. This means they do not work on many phones and other devices like the iPad. They also sometimes don’t port to all platforms, so if you have 64-Bit Linux, you are out of luck.

Many of our competitors have embraced Microsoft Silverlight (http://en.wikipedia.org/wiki/Microsoft_Silverlight). This is worse than Flash, in that there are very limited choices for where it runs and you are really limited to only running on Windows PCs in IE or on Microsoft Phones which so far haven’t been very popular.

Again we chose HTML and JavaScript because we get full device and browser independence built on open industry standards. Our competitors will claim that they chose something proprietary to give a richer client experience. This may have been true five years ago, but today even with only HTML4, you can get just as rich an experience as these other technologies. And now with HTML5 and a whole host of newer more powerful Browsers coming to market, we can now exceed the rich client experience of these other technologies without losing TCO or locking in to proprietary platforms.

TCO

Reducing TCO is a key goal of Accpac 6. Initiatives here include requiring only a Server installation, no workstation setup, nothing else that needs to be installed on the individual workstations. Not requiring any special firewall or network setup, having everything use standard HTTP (or HTTPS). Making customizations upgrade safe, allowing you to upgrade and have customized reports and screens just work. For more details see:  https://smist08.wordpress.com/2010/03/12/on-total-cost-of-ownership/.

Customization

As we move forwards we want to provide a more powerful customization model. A powerful customization model and robust SDK has always been one of Accpac’s competitive advantages, and we want to extend that. Studying what people customize currently and seeing if we can incorporate this into the product as part of the UCD review process to eliminate the need for customization. But when customizations are required we want to:

  • Make more customizations straight from forms without requiring code.
  • Make customizations upgrade safe.
  • Have many more customizations possible from the UI designer.
  • When code is required, ensure we provide the power to do more than we can currently.

For more on customizations see: https://smist08.wordpress.com/2010/02/05/sage-erp-accpac-6-customization/.

Openness

With everything we do, we are trying to be more open. Using open standards like HTML, JavaScript, SData and XML. Any files that we save are now just XML text files that anyone can manipulate with any of the many XML tools out there (including notepad). We want to follow industry standards and best practices. We want to avoid single vendor lock in. We want to make sure we can play when the next disruptive technology comes along. We are avoiding binary file formats and binary network protocols. We are avoiding proprietary technologies developed by a single vendor. We are ensuring we can be as adaptable and open as possible. This also reduces TCO since we can leverage open source technologies like Apache Tomcat (http://en.wikipedia.org/wiki/Apache_Tomcat) and Eclipse (http://en.wikipedia.org/wiki/Eclipse_(software)) which are freely re-distributable.

Future Foundations

Many of the technology choices and architecture we chose was to provide a foundation for future innovations including:

  • Browser Independence: Due to time constraints the first version will fully support only IE 7 and 8. But everything we have done is set to support Firefox, Safari and Chrome as well. This would include desktop and mobile versions of these Browsers.
  • 64-Bit – All the new technologies are fully 64-bit compliant. You can run the 64-bit versions of the browsers.  Now we are set to compile our Views for 64 bit and to produce a 64 bit version of Accpac when needed. As we scale we will be able to take advantage of huge 64-Bit memory spaces.
  • SaaS – Although we are shipping as an on-premise install to start, we have architected the system for SaaS deployment at a later version.
  • Advanced end to end integrations enabled through SData. As other Sage applications like SageCRM move to the same platform, we have the opportunity to integrate much more closely. With common UI components and a common SData Web Services layer, we can provide much more cross application functionality in UIs, Reports and Workflows. For instance see: https://smist08.wordpress.com/2010/05/07/on-the-sage-gcrm-contract/.
  • Performance/Scalability – With the adoption of SData Restful Web Services we can use advanced Web performance tools to test and expand the scalability/performance of Accpac from where it is today. See https://smist08.wordpress.com/2010/02/26/sage-erp-accpac-6-performance-testing/.
  • Server Independence – All the technologies involved in the Accpac 6 platform are server operating system independent. So we can produce a Linux Web Server version easily if we choose to do so.
  • Full Unicode Support – All the new technologies fully support Unicode, so this sets the stage for creating a full Unicode version of Accpac.
  • Mobile – All the new screens are pure HTML/JavaScript and can run on iPhone, Android and Blackberry phones. Plus tablet devices like the iPad. See: https://smist08.wordpress.com/2010/06/25/accpac-on-the-iphone-and-android/.
  • HTML5 – For our first version we are only using HTML4 features, but since we are built on the Google Web Toolkit (GWT) and Google is aggressively pursuing HTML5 we will automatically be getting HTML5 features as they become available in the various Browsers.
  • Connected Cloud – As a Web Based application, built from the ground up on RESTful Web Services, we are ideally situated to integrate with other Web Based applications based on Web Services whether these are locally installed or cloud based. This can include common ERP services like sales tax calculation or government reporting, but also integration to other services like Social Networks or Web Based Office applications (like Google Docs). Our technology platform is ideal for both consuming and producing such services.

Summary

With the Sage ERP Accpac 6.0A platform we want to ensure that Accpac is a leader in Web Technologies, Usability, Customizability and TCO. Expect to see a progression of exciting releases kicking off with 6.0A later this year.

Update 2010/10/10: Forgot to mention competing against Web 1.0 companies. Many of our competitors went to the web early with technologies like ASP.Net. These are all Web 1.0 applications meaning that they aren’t a very rich user experience and often result in fairly major page refreshes as you work. These companies may claim to be Web 2.0, but usually they have only patched in a few specific cases for show and you soon realize it isn’t used in most of the product. Many of these companies were start ups and are still fleshing out full ERP functionality and so don’t have time to go back and do a major refactoring of their UIs. Accpac’s new Web interfaces are fully Web 2.0 which use Ajax everywhere. All server calls are asynchronous and we only update individual DOM elements, never doing a page refresh. Since Accpac has full ERP business functionality already, we aren’t still filling in missing pieces.

Written by smist08

October 9, 2010 at 4:18 pm

Installing and Deploying Sage ERP Accpac 6.0A

with 23 comments

We’re only a month or two away from the launch of Sage ERP Accpac 6.0A (for details see: https://smist08.wordpress.com/2010/09/25/preparing-for-the-sage-erp-accpac-6-0a-launch/). A major goal of this release is to provide a smooth upgrade transition from 5.x to 6.x. There has been some concern that the new Web based components will make the product harder to install or increase the hardware requirements of the product. This blog posting will go into some detail of the parts that are the same, the parts that are new, what is optional and what you need to watch out for. We’ve put a lot of effort into the Accpac installation program to make the process as transparent and simple as possible. But sometime it’s helpful to know what’s going on behind the scenes and what is being setup for you.

Accpac Classic

If you don’t want to worry about the new Web technologies, you don’t have to. From Accpac’s installation screen you can de-select the “Portal” feature and install just like you always have.

Of course you can always add the Portal feature at any later time.

Accpac Web Portal

Whether you are doing a Workstation Setup, Terminal Server or Local programs installation, you only want to install the portal in one place on the server that will be your IIS Web Server. On all other computers if doing a full installation, be sure to un-check the Portal as an installation option. If you want to run VB UIs from the new Portal, you do need to have the ability to run the classic Windows Desktop via a workstation setup or local install.

Hopefully you will want to use the new Web Base Portal with all the new functionality available there. If you have worked with SageCRM 7.0 then much of the deployment and installation is the same. We both use a combination of IIS and Apache Tomcat to process Web Requests. In fact, when we wrote our installation script, we copied all the sections for Tomcat, Jakarta and IIS from the SageCRM installation script and just modified them for Accpac. So much of the installation is actually field tested since it has been used for many SageCRM installations.

Below is a diagram showing the main components involved in a Web Portal deployment.

IIS

If you are installing the new Web Based Portal or using Quotes to Orders from SageCRM, you need a Web Server. Hopefully you already have such a server being used as a file server or as a SageCRM server. You will install the Accpac Portal here. On this server computer you need to install IIS before you install Accpac. Since IIS is a Windows component, we can’t do that for you from our installation program. You need to either add this as a role to your server or add the Windows component from the control panel. Note that this excludes you running the new Portal on a laptop running Windows Home edition, since it does not have IIS as an option.

You don’t need to do anything beyond adding IIS, our installation program will add all our components to IIS and will configure IIS to work with Accpac. This is true if you are running internally, if you expose this Web server to the Internet or you want better internal security then you have to do a small amount of work to configure the Web Server for HTTPS and add a digital certificate to correctly identify the server to clients.

Below are the virtual directories and application pools added by the Accpac and SageCRM installation programs to IIS.

Tomcat

Our new SData services that process the various SData Web Service requests are programs written in Java (https://smist08.wordpress.com/2009/11/24/sdata-in-sage-erp-accpac-6/). To run this Java program we require a Java Application Server, which is a program that receives web requests and passes them to Java classes to be processed. The Java application server that we use is Apache Tomcat (http://tomcat.apache.org/). Behind the scenes our installation program installs Tomcat in C:\Program Files (x86)\Common Files\Sage\Sage Accpac\Tomcat6 and adds it as a Windows Service. Hopefully you never need to know this program is even here. Hopefully it is all setup perfectly and you will never need to touch it.

Below is the Windows Services dialog showing our usual service for handling .Net Remoting requests and our the new service that is the Accpac instance of Apache Tomcat.

Jakarta

Our installation program adds another component called Jakarta to connect IIS up to Tomcat. All the installation and configuration of this component is done automatically by the installation program and you don’t even have to know it is there. Basically we want IIS to serve up all static web content like HTML pages, JavaScript pages, cascading style sheets and various bitmaps. But we want any SData requests passed on to the Apache Tomcat Java application server running the Accpac SData processor.

Portal Database Configuration

The new Accpac Web Portal has its own database that it uses to store various information like you shortcuts and preferences. So you need to configure this database from Database Setup which now has a “Portal…” button which leads to the following dialog.

HTTPS

If you want to expose your Accpac Portal to the Internet or just want extra internal security then you should configure IIS to use HTTPS rather than HTTP. To do this you add an https binding to the default web site bindings. When doing this it wants a digital certificate to identify the server. You need to get this issued from Verisign (www.VeriSign.com)  or another vendor. Otherwise the Browser will complain about accessing this site, since it won’t be able to prove who it’s talking to. Additionally you will then want to disable HTTP so access only happens through a secure connection. Then you would follow all the other security best practices for managing a Windows Server (like be behind a firewall and have all unused services turned off). Often it’s worth running a tool like NMap/Zenmap (http://nmap.org/zenmap/) to confirm that you aren’t running anything unexpected that could be hacked.

Summary

Hopefully this gives some idea of the various issues and considerations installing Sage ERP Accpac 6.0A. If you are familiar with SageCRM 7.0 then this should all be old hat. Otherwise give it a try; it’s not nearly as hard as it might look.

Written by smist08

October 2, 2010 at 4:15 pm