Read our frequently asked questions for fast answers. These are general sales and company questions. For support and product technical questions, please refer to our Technical Support Forum.
Not at all. Accelerator is our core offering and central to much of what we do, and is actually a collection of many tools that Surround has built to further advance our Accelerated Software Development Strategy.
But, depending on your particular needs and unique situations, Surround may recommend other solution add-ons, partner solutions, open source tools, and/or consulting services. No matter where you have to start or where you want to be, we cater to accelerating the entire software development life cycle. From concept to production to long term maintenance and enhancement, with Surround, you will always know the way forward, no matter how complex the business requirements.
There are so many! Through several surveys, polls and interviews, we identified the top 10 reasons Accelerator and Accelerated Software Development are used:
Read more about the Top 10 Reasons.
Also, here are some additional items you may find helpful:
Please have a look at the Accelerator Product Page for more details about the solution.
Many developers certainly can, and do, build systems from scratch. They have been doing it for years. We are confident many teams could even build all of a complete architecture like that within Accelerator. But the central decision point in the build vs. buy question is … "does a solution meet all (or enough) of our requirements at a cost that is less than what we would incur by building it?"
Why start from scratch when you can start with a complete foundation, set of frameworks and all the underlying architecture and plumbing? Accelerator provides mature, well-tested, best practice architecture with generation tools to jump start all the rest. Unleash your genius and creativity on the stuff the business and users really care about rather than all the stuff under the covers. When is the last time one of your users complimented you on your great software architecture?
And that is just to get the initial solution created, which, for most software projects, is a small part of the cost of the development over the life of the solution. This is where you will see even greater return on your investment and choice to use Accelerator. All developers work in a consistent, repeatable methodology saving their unique creative problem solving for where it matters, the business requirements. Since approximately 60 to 80% of most software solutions is the underlying non-business related architecture with multiple ways of building, think about how creative a group of developers might be and how often the same exact functionality may be created and recreated.
Accelerator is millions of dollars worth of investment in research, development, trials and errors that you don’t have to make. And there is no way even a fraction of it can be recreated for the price we are offering.
With Accelerator, you save the years, the risks, the mistakes and the headaches … all at a fraction of the cost. Building software is about your business and the end users, not about if you can build it or not. The right question to ask is why do you want to and does Accelerator meet those reasons?
Take a look at our list of Accelerator Features, determine which ones are important to you and ask what it would take, not to mention how long, to build it yourself.
Not at all. Modernization is only one of the areas of software development where Accelerator shines.
Surround has great strategies, exceptional talent, well-defined processes and various tools, geared towards companies that need to modernize legacy systems on IBM i, IBM System z, and Windows. However, these are a subset of the overall software development solutions we provide. Surround views software modernization as software development with an often extensive and complex “current state” that requires additional tactical considerations.
To get a better understanding on our approach to software modernization, please check out our Accelerating Application Modernization page.
Yes, Surround provides the source code for all of Accelerator. Having the source available can help developers understand the underlying mechanisms of the core and various frameworks, debug problems in their applications and to learn by seeing how Surround develops software.
It is also a part of providing a solution with zero limitations or lock-in. You have the code to do with as you please if you so care to. To date, however, clients have found us to be extremely responsive to their needs and much more suited to working with this code.
Yes, the Accelerator user experience is highly customizable at several levels without any coding necessary, including by the end user themselves. We consider end user personalization very important to the users productivity and ability to optimize it to their particular tasks.
This enables the company to provide a single base application and customize it to fit the requirements of different users as well as allow for “user customization”, often referred to as “personalization”, in which the end user configures the software to their personal experience based on how they work most productively. This personalization is persisted via Accelerator Services and follows the user on any other device.
Understand that in order for a user to love their software, they must be able to make it as productive for them personally as possible. They may want configure it based on their particular skill level, or their particular role for that week or simply because they work better with one layout over another. They can customize it to their liking and change it as they get more experienced or take on different tasks.
We get where you are coming from! The Surround development team has used many frameworks and have seen the limitations inherit in them. They work very well for one scenario, but not so well for another. We even use some of these frameworks within our Accelerator solutions where they make sense. We are not into building something when we don’t have to!
The difference with Accelerator is that it is way more than just a single framework or a single tool. It is a collection of many frameworks and many tools.
Each system produced is made of a "Framework of Frameworks" specific to your definitions. As an example, in the initial software production process our SAM (System, Application, and Module) Wizards walk the developer through data storage selection and presentation model definition. Then, using numerous frameworks and code generators specific to those, produces fully-functioning software.
This means that, with Accelerator, there are indeed no limitations to what you can do, and since Accelerator handles all of the mundane development for you, you'll be amazed at how fast you can put your genius and creativity to work on business related requirements.
We seldom, if ever, get challenged on our architecture, but sometimes developers do have a business reason to build a different style User Experience. This is fine, most often it is quite simple to tweak the existing UX to what you need. However, it is also possible to build an entirely new user experience from scratch but still use all of the Accelerator security, meta data, and pre-built plugins. Really, we have top notch developers that despise lock-in as much as anyone. We like that. They make sure we simplify and accelerate without ever limiting. Accelerator provides software development acceleration without limitation.
There is an extensive amount of research and development that has gone into both the architecture and end user experience provided within Accelerator and we are continually improving and changing it with each release and as user expectations change. This is what we do so that you don't have to. So, when it is time to go beyond what Accelerator offers out-of-the-box, it is important to understand the business reasons for that and to maintain consistency across the development methodologies and the user experience.
Take a look at our list of Accelerator Features and see why there are no limitations.
Our software is versioned by four numbers (Major.Minor.Release.Patch). We typically produce one major version per year, at least one minor version per quarter and several releases within a quarter. Patches or hot fixes are not scheduled and are done as needed. When you install the Accelerator, you can install every release in a new folder which allows you to have many versions of the Accelerator installed. We recommend installing each "Major.Minor" version in a new folder which is the installation default. With this versioning, you can run our Re-referencing tool that allows you to upgrade your code to point to a specific version of the Accelerator. This will allow you to upgrade one .net solution without upgrading another, or to easily back out of an upgrade if needed. There are four parts to upgrading the Accelerator: 1) installing the Accelerator.msi on a developer PC, 2) publishing the new version of the Accelerator services, 3) updating the Accelerator database with the provided script and 4) transferring Accelerator Meta Data to the Accelerator database using our Export/import tool.
The Accelerator generates the Data Access Layer and supports the ability to supply an interpreter to the DAL to construct the SQL statements that target a specific database. We currently support and include with the product an Interpreter for DB2 and MSSQL. You have the ability to create your own interpreters as well. The UX and Business Processes work with a query object that the interpreter can use to construct the SQL statement. Because we are using ADO.net we are able to call stored procedures as well as execute any custom SQL statements supported by the database. A developer using the Accelerator can override any methods in the DAL and can code their own stored procedures and custom SQL statements. Working with Stored Procedures is currently not supported by generation, but is easily implemented afterwards.
The Typical Development process is very similar to conventional development except that it is significantly shorter:
Surround’s process delivers valuable productivity gains throughout the entire Software Development Life Cycle (SDLC) is significant.
While a module may be generated and regenerated multiple times when it is first being developed, once it is customized, it is not typically regenerated.
Add, change, or remove fields
The developer uses the Accelerator Code Enhancer to make module changes to existing generated code that has already been customized. The Code Enhancer compares your database and generated programs to analyze changes, identify impact, refactor code and update Accelerator Services all while retaining your code customizations. Analysis includes fields that have been added, changed and removed from the database or entities. This analysis ensures programs are fully updated with any changes made to the data store.
Add, change or remove module relationships
The Accelerator Code Enhancer will also assist with some of the relationship changes such as adding join fields and implementing drop downs, however thanks to the loosely coupled nature of the accelerator Architecture, most module relationships are configured through the Accelerator Maintenance Console.
Add, change or remove business logic
This is performed through custom coding the same as it is for the standard enrichment process.
Hand Coding changes
Of course, you can always hand code your changes and sometimes a change is so small that is perfectly normal and easy to do. Accelerator Code is well documented and has “//TODO:” comments that provide guidance for most any kind of change you would like to make.
After you generate your code, you can unleash your genius and creativity to further enrich, extend and integrate with it within the Visual Studio IDE.
Since there are no limitations, you can take the system as far as your creativity can take you and what your business needs are. Add dashboards, productivity task panes, configurable system options, documents management, workflow wizards, advanced information visualizations, and much more. Use more Accelerator frameworks, code generators, tools, and pre-built add-ins to accelerate that process too.
You will use Visual Studio for all of your enrichment and custom coding, including ongoing maintenance.
Most Development is never "done". When you need to add new modules to your system, you can run the Accelerator wizard to generate the code and add the appropriate metadata to the Accelerator Database.
However, for ongoing module development and maintenance, the majority of your coding time will be spent in Visual Studio enhancing and maintaining your code. Have a look at the FAQ “What happens when I change the Database for modules I have already generated?” for more information including our code enhancer tool that assists you with common changes that happen during the development life cycle. The code enhancer can update code that was previous generated by the wizard and modified by a developer within visual studio. The Code Enhancer will also assist with keeping the Accelerator Database metadata updated.
Surround tests Core Accelerator functionality for and currently recommends supporting the following desktop browsers.
Additional and older browsers may also be supported with some limitations. Accelerator provides the base architecture, generated code and other development techniques to support graceful degradation. Graceful degradation is the practice of building a web site or application so it provides a good level of user experience in modern browsers. However, it will degrade gracefully for those using older browsers. The system may not be as pleasant or as pretty, but the basic functionality will work on older systems.
Accelerator provides the base architecture, generated code and other development techniques to support multiple User Experiences and device support.
Native Windows Applications:
Developers can create Native Windows Applications.
Desktop, Tablet and Smart Phone Web Browser Applications:
Developers can create web browsers applications for Desktop, Tablets and Smart Phone devices. There are various application frameworks targeted at the particular business need such as line-of-business, web portal, e-commerce applications, etc. these are all responsive designs that use a single code base that is responsive to the device type and screen size.
Desktop, Tablet and Smart Phone Native App Store Applications:
Accelerator supports Native App development for Windows Devices as well as Apple and Android Devices using either Xamarin or Phone Gap depending on the business need.
Accelerator supports three configurations for the different multi-tenancy business requirements with features for controlling security, functionality, users, user roles, application theme and branding, and more.
Surround has put significant effort into supporting software globalization around three primary areas:
Multinational: Software can be configured to run in different places.
Localization (L10n): Software can be adapted for use in specific locals or cultures.
Internationalization (i18n): The Software is equipped to run multiple locales.
Accelerator has built-in support for software globalization in the core and the software generation. We also provide best practice advisory information for what you will need to think about and do as you implement this functionality into your solution.
Some examples of multilingual support are:
Some of the things considered for L10n and i18n are:
Microsoft's Visual Studio Integrated Development Environment, IDE, is one of the most powerful in the industry and the .NET development technologies are the best in the industry, especially for developing for multiple interfaces and devices. They are extremely flexible and powerful. However, it does not force or guide development standards or best practices. That is up to the developer to decide what is best for them. Surround's Accelerator is based on industry best practices and provides the majority of the more complex development needs including the software architecture itself. It's generation tools facilitate the establishment and adherence to your standards while generating the bulk of your code. Code that you can review and learn from. The streamlined Accelerator-based development process provides guidance and productivity for developers of any skill level.
Absolutely not. Accelerator ships with several different UIs to choose from, but you are not forced to use them at all. You are welcome to change the interface for branding or any other purpose you see fit. Accelerator is built to make this flexibility easy to implement.
Accelerator is 100% .NET. Therefor all the pieces required for deployment will package up along with the rest of your application as you would with any system you developed. No additional work is required.
Glad you asked.
Communicating with the IBM i system from .NET can be done in various ways depending on the costs, tactical and strategic objectives and various other business needs.
Direct Access to the DB using IBM i .NET Data Provider:
There are several tools and technologies for directly accessing the Database Tables on the IBM i. Surround evaluated most of them and selected the .NET Data Provider for Accelerator solutions. IBM provides the .NET data provider to connect to the IBM i at no cost. For more information on this have a look at the following links:
http://www-03.ibm.com/systems/power/software/i/access/windows/dotnet.html
http://codeissue.com/articles/a04f1f6f95b5b75/connecting-ibm-i-series-using-net-dataprovider
Program access using Stored Procedures:
The IBM i .NET Provider also offers the ability to call Stored Procedures. While not commonly used in legacy systems, stored procedures are often pivotal components of a modern database design. They can be defined to work with different types of parameters. They can be written to perform varied SQL and work with multiple database objects simultaneously.
IBM i Developers can write the database logic in RPG, COBOL or C with embedded SQL, wrap it in a stored procedure, return the data in a result-set, and call that procedure from .NET. This method puts all the database "heavy lifting" in the database where it belongs, and the UX just displays the results in a rich and productive way.
For more information on stored procedures on the IBM i, have a look at http://www.ibm.com/developerworks/data/library/techarticle/dm-1104storedproceduresnet/index.html
Reusing 5250 sessions
Accelerator-based solutions can also access the IBM i through reused and refaced 5250 terminal sessions seamlessly embedded and integrated into the full solution. The session can be a physical part of the UX, or can work with the session in the background.
Other informational areas:
http://www.ibm.com/developerworks/forums/forum.jspa?forumID=467
There are a few ways to call RPG programs from .NET and to pass information back and forth. Our suggested method, which is also used in the framework, is Stored Procedures. Using stored procedures, .NET applications can readily call existing RPG, RPGLE, CL, CLLE, COBOL, COBOL LE, C and CLE programs on the IBM i.
Refer to the FAQ for "How do I access the data on My IBM i using .NET" for more information on this.