Why to use workflow system and what are my options? [closed] - workflow

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I was reading the following post:
Why use Windows Workflow?
Now wf concept looks promising technology for lowering company costs on business process implementation. MS WF looks that it does not have everything for fast implementation. What are other wf/bpm options for fast implementation?

I have been working with workflow engines/systems (OpenText, K2.net, Metastorm, MS WorkFlow Foundation, ...) for past 10 years and I can say that wf technology can be very useful, however it's not suitable for solving all type of problems.
Basicly it's ment to solve process oriented tasks. You would ask your self what does this mean!? Well process is any entity that has start, duration and end. If you look the tipical company is buildup with processes. Apparently storing some final reports in such system would not be the goal... The power shows up when those tasks needs to be processed in controled manner or new process route is required. Classic implementation would require for developer to write additional code, good wf system will let you implement route change in a second without line of code and process versioning is not a problem. This in just one of the benifits.
You should look at wf system as platform for fast process development, monitoring, optimization and versioning. It should give you all the tools needed for BPM life cycle. Here you can find what I am talking about: http://en.wikipedia.org/wiki/Business_process_management
In my professional career I have developed one wf engine and one fully wf system based on MS .net technology. If you are interested in details please visit my web site:
http://www.gp-solutions.si/business/Product.aspx?s=pro&id=1&cat=2 With this system you can develope new process with all the forms, monitoring, security, documents,... in less then 10 min. You can not do this in traditional way of development. Save time and money is the name of the game here.

If you're looking for a commercial alternative for fast BPM implementation I worked with two .NET based platforms in the past - K2.net and PNMSoft.
I personally like PNMSoft (http://www.pnmsoft.com/) since it is native .NET, it supports WF and other technologies and is extremely fast and easy to use.
If you're looking for open-source alternatives, there are some .NET based ones like Bonita (http://sourceforge.net/projects/bonita/) but don't expect it to be as quick and easy...

Nowadays there are several open source BPMS under convenient license models.
For instance the Eclipse Process Manager "Stardust" (http://www.eclipse.org/stardust/) is a comprehensive and mature Java open source BPMS. Its commercial version is used in several products for different industries, also in combination with .NET.
browser-based or Eclipse based process modeler
Process engine in Spring or EJB mode, e.g. Tomcat
Web Service and Java APIs (SOAP, REST)
OOTB portal for workflow execution, business control center and administration
User interface mashup feature to include arbitrary UI technologies in workflow steps
embedded DMS
strong ootb system integration capabilities (JMS, WS, Camel,...)
Amazon Web Service Stardust image available (http://wiki.eclipse.org/Stardust/Knowledge_Base/Getting_Started/RTE_on_AWS)
commerical support and SaaS on demand offering available
suitable e.g. for human centric workflow, ETL, low latency and high volume message processing, document centric worklfow and document management,...
Best regards
Rob

Related

Demandware/SFCC prerequisites [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this question
If one were interested in learning to develop on Salesforce Commerce Cloud (formerly Demandware) could they leverage knowledge in other frameworks to expedite their onboarding? If such other frameworks exist, which are they? What are some other ways a new developer in Salesforce Commerce Cloud could pick things up faster?
I am asking this question while keeping controllers, MFRA in mind. Please consider that when answering.
As a seven year veteran of Commerce Cloud (Demandware) development, a certified Developer, Support Technician, and Solution Architect, as well as a two time Subject Matter Expert (SME) for Salesforce Trailhead's certification team; These are my recommendations:
Learn to code Javascript with ECMAScript 5 syntax without relying upon frameworks nor ES6 features.
SFCC uses the Rhino engine and is not capable of using all the fancy
ES6 features you may be used to with Node or browsers. For more information on this, see: Frequently Asked Questions (Access can be gained by following instructions here.) Note: You will not be able to use jQuery in your controllers and modules. They execute on the server-side but not the same way that NodeJS does.
ExpressJS Controllers syntax
Storefront Reference Architecture (What they're calling MFRA now) uses a syntax & middleware pattern for its controllers that is similar to that used by Express.
CommonJS Module syntax
Understand how to define and use CommonJS modules. This pattern is used heavily within the SFRA architecture.
NPM Scripts
Understand how NPM Scripts are executed and configured. SFRA uses them for building all static assets (CSS, JS, etc), as well as unit tests, and deploying to a Sandbox.
If you're completely new to SFCC development and you'll be building more than just the template layer, you should use as much of the Commerce Cloud eLearning content available as possible. You can find this content from within the Commerce Cloud Developer Center.
Some suggested courses that were/are offered by Salesforce:
DEV001: Commerce Cloud Digital Architecture Overview
DEV101: Developing for Commerce Cloud Digital I - This is a paid course; highly recommended and required for dev certification.
DEV180: Developing for Commerce Cloud Storefront Reference Architecture - Focused course on developing using SFRA.
DEV181: Cartridges and Commerce Cloud Storefront Reference Architecture - Focused course on understanding cartridges and extending SFRA.
DEV201: Developing for Commerce Cloud Digital II - Critical scalability, performance, and customization learning that applies to all aspects of the platform.
Finally, after all that learning, you may find that you're having trouble getting up to speed or that you're not getting answers to your questions on SFCC Developer Center Discussion Groups. You may also request an invitation to the SFCC Unofficial Slack community by submitting this application form. Please keep in mind that this Slack is operated and supported entirely by volunteer efforts from other developers, architects, and business users. We would ask that you do your part to give back when you feel comfortable doing so.
I heard that learning AngularJS and reactjs would help alot to excel in Demandware.
It mostly depends on the project what you get.
Old Demandware uses pipelines, which look like algorithms and uses DemandwareScript, which is ECMAScript 4 and programming part is very easy. Frontend part saves states for some objects.
New Demandware uses controllers and has more code, I think currently it is ECMAScript 5. Grunt is generally used for continuous integration, with a lot of NodeJS modules. It is also more testable and Mocha, Chai and Jasmine is also used for testing. Frontend part is stateless, contrary to Angular or React and introduces promises.

Nuxeo workflow engine VS dedicated workflow engine (like Activiti)

I use Nuxeo for content management purposes on a project.
I know I'll also need to support "workflow" scenarios, which I currently know very little about.
For example: I'll need to support a workflow scenario for approving a release of a software component.
Such an approval may be composed of several different stages, and in every stage I may need to trigger some kind of an automatic interaction with certain users of the system.
What may be considered some good/valid considerations for not "settling for" the workflow engine provided by Nuxeo, and using a dedicated engine such as Activiti or jBPM instead?
I know the question is very (perhaps too) broad, but still:
What could be some points to consider before I choose one over the other?
Are there other tools I should consider?
Yes, your question IS too broad. every workflow tool has its own cons and pros. why don't you list down all of your needs then compare each of the tools. mainly: Alfresco Activiti, Camunda, jBPM or Nuxeo

Software to consolidate information flows into a company

At our company, we are looking at replacing a number of legacy systems that handle information from our customers into our company. Typical systems allow the user to drop an ftp file somewhere. This file will then be transformed by a number of programs and eventually end up in some kind of database. In total we have +30 different "systems" or applications that does this. And, it is more or less a mess.
We believe we lack a common system to manage these flows: triggered by upload or possible another event, register the data, create some sort of "job" (or process) from it, pass it through the variuos services/transformation programs it needs to go through, provide feedback to the customer, provide information about progress, etc to us, handle failures and so on. Sort of like Jenkins (/Hudson/CruiseControl/similar) but for information transformation jobs, rather than build jobs, and with a job beeing more of a "process instance" of a job, then the job itself (e.g. different data should trigger the job several times, running concurrently).
We are cabable of writing such software ourselves, but surely software as this exists(?) I have been googling around, and found that what we need ma possibly be "job scheduling" software or "business process management" software. However, these are all new domains for us, and I am quite uncertain to as what kind of software would fit our needs. It appears one could invest quite a deal of ressources into this type of software before
So, what I am looking for is pointers to what kind of software or systems that could solve the kind of needs we have. Preferably Open Source, Java based, running in a Java EE container or similar, but really, at this point, almost any pointer/hint will be welcomed :-)
Thanks in advance
P.S. I realise I may be out of scope for Stackexchange, but I have been unable to locate another forum where this kind of question might be answered, so I hope it is OK.
I know of the following products:
Redwood Cronacle (I worked with it 1994-1997 and it still runs). Purchase product. Oracle and C based. Strong in multiple server platforms. Embeddable.
Oracle E-business suite core. Purchase product. Oracle based. Strong for integration with the same ERP system. Weak for multiple server platforms.
Invantive Vision (I developed it :-). Purchase product. Oracle and Java based. Strong in integration with ETL (Pentaho open source). Weak for multiple server platforms. Embeddable.
Quartz Scheduler. Apache license. Java based. Worked with in 2004 or so. Strong focus on embedding.
Hi I don’t know if you will find that solution in open source or Java. It sounds like bespoke or custom software to me. I would advise you to search for a project management software developer with high level of IT and Data warehousing. Ask for bespoke and customized installations with a real time database. I think you will solve your problem with this.

What is the best way to charge for software and infrastructure support? [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
We have an internal software development team in my company that are building a set of software frameworks and some infrastructure (database hosting) to be used by other teams. Since they are not delivering software directly to any external client, they are trying to figure out how to chargeback to recoup their costs / budget They are trying to determine the correct payment model for other teams to use their services. So essentially we would be paying for the following resources:
Using the software frameworks
Using the infrastructure (servers - disk, memory, etc)
The support people in this group to maintain the infrastructure
The developers that are building the frameworks.
This seems like a generic problem that must exist with other software shops so I wanted to see if there was some standard or a suggestion here?
The fact that you are considering this kind of relationship within a shop is probably very symptomatic of our times. If you think the framework team is useful, then measure its usefulness, in a somewhat fine-grained way, and just give the team the budget to keep being useful!
For example, have other teams assess their use of specific features in the framework and their wishlists, and check that the framework team only works on parts of the code relevant to those.
Paying for services could have some problematic drawbacks, as with any such arbitrary metric. For example, it gives other teams an incentive not to use their services: it encourages homegrown indrastructure, custom code(so you get a more potent NIH syndrome).
What about estimating the cost of each tasks?
Every company I worked at, used a classical man/day system.
When a task has to be done, the human resource cost is assessed in man/days, that is, how many days would it takes if only one worker was on this task?
With that in mind, with an estimate of the time spent to do a task (often done by the more experienced people) and since you (should) know how much a worker costs, it's easy to find how much doing the task would cost (time estimated x cost of worker). That way, some very basic and redundant tasks, like reading a new database, a new server, creating new accounts... can easily have a basic man day cost.
And to optimize the budget the company can easily look at the tasks that are the most redundant and expensive to automatize them and reduce the overall costs of a team. Of course, the automation of a task is a project in itself and need to be estimated. And depending on the productivity gain of project some priorization has to be done.
I think that the main driver of this cost assessment is having projects/tasks and time tracking system. That way it's easy to produce statistics on what takes times.

Should I use a CMS or not for an ecommerce website [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
Say I am required to build an E-Commerce website that could eventually become very very large. The site would start with at least 100,000 different products, and would include features like Amazon. Would you advise me to use a CMS? or to build this website from ground up?
Something to take into consideration is that if I use a CMS, there would still need to be lots of custom coding, since we want many features not commonly available.
Taking into consideration factors such as Speed, Security and Scalability.
Features would include: Different sets of details for different products, product comparisons, reviews, customer management, customer points system, and all the basic ecommerce features.
If you say CMS, Can you also suggest CMS's that would be great for this kind of store.
Thank you.
Well you have to consider many things. in general means, using CMS is good idea.It reduce development time as well as development cost. But you may need to make modifications on source code in order to gain what exactly you want from it. On the other hand build such application from scratch allows you to obtain exactly what you want. but its will takes time as well as much cost.
follow through bellow link
http://www.mykeblack.com/web-design/how-much-does-an-ecom-website-cost
and also if you choose an FOSS CMS find something has higher community involvement as well as support.
If you use paypal as payment method , check their web site. they suggest couple of good commercial CMS.
The ideal e-commerce solution for that volume would be Magento
The only downfall is that its very robust and has a steep learning curve. I do NOT recommend using a framework that is a blogging site first, with an e-commerce plugin or add-on such as WordPress. It will not be able to support the traffic, the product volume, or the security precautions that should be taken.
Obviously is better if you use a CMS, I recommend you OpenCart if you just want to do an E-Commerce web site, it's is so simple and Open Source.
For something bigger you can try Joomla as CMS and a great extension called VirtueMart (http://virtuemart.net)[3], it's very complete an extensible..
Any time you use pre-made code, you are at the mercy of the features included. Adding features can be significantly harder than with custom code.
That having been said, it is definitely not unheard of to START your site with pre-made code (or even a whole platform - like selling via Amazon) and only the included features so you can start making revenue while you write your own solution.