• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Tim Cooke
  • Campbell Ritchie
  • Ron McLeod
  • Junilu Lacar
  • Liutauras Vilda
Sheriffs:
  • Paul Clapham
  • Jeanne Boyarsky
  • Henry Wong
Saloon Keepers:
  • Tim Moores
  • Tim Holloway
  • Stephan van Hulst
  • Piet Souris
  • Carey Brown
Bartenders:
  • Jesse Duncan
  • Frits Walraven
  • Mikalai Zaikin

How to improve back end side?

 
Greenhorn
Posts: 27
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi all, Today, I faced a very big and important problem in my software life.I will explain to you very well what my problem is.

In general, we all know that everything in the web world consists of sent requests and returned responses. The thing is that I am having extreme problems in making the preferred business logic and putting it into code on the request I have received. To explain the problem better, let me explain it this way. Let's say the guys, who work busines processing and ask me for users to sign up. I won't have a problem writing this, the back end of register a member. I won't have a problem,when writing the back end of register a member. The reason is that I will directly visualize the register side of any site in my mind. In short, what do I need to improve so that I can only use postman without a view, send a request and get a response and write a back end? Some tell me that you need to draw a flowchart to do this. Can you say any keywords about improving it? In short, what should I do to be able to write the business logic rules requested from me by the business layer?
 
Saloon Keeper
Posts: 25634
183
Android Eclipse IDE Tomcat Server Redhat Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Well, unless you are communicating with people in a language that you know better than English, I'd say one thing you need to do is learn better communication skills. I had a hard time making sense of the question. Not a problem with grammar or vocabulary, but with it being a bit vague and in some cases using alternative terminology that obscured when you were talking about a particular item.

Flow charts and UML diagrams are good, but unless you can explain something clearly, you'll find it hard to draw up any sort of diagram.

Although often the job of drawing diagrams can act as a focus that will help you understand more clearly, since you generally have to break down the task step by step just to figure out what diagram symbols you need to lay out and fill in.
 
Kenan Teymurov
Greenhorn
Posts: 27
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I'm sure I have explained my question very well and clearly. Maybe you can't working back end side or something.
 
lowercase baba
Posts: 13054
67
Chrome Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Anar Mammadov wrote:I'm sure I have explained my question very well and clearly.


Generally, it doesn't matter if YOU think you have explained something clearly. What matters is if your AUDIENCE thinks you have.  

 
Kenan Teymurov
Greenhorn
Posts: 27
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
All I wanted to say was this. What should we do to improve ourselves on the Back End?
 
Marshal
Posts: 5362
325
IntelliJ IDE Python Java Linux
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
It sounds to me like you're primarily a front end engineer familiar with web technologies, html, javascript, and the like. And what you're asking for is how to build software services that are running somewhere as a service exposed via an API?

Now, the short and slightly unhelpful answer is that what you're describing is fundamentally what Software Engineering is. So to be better at "back end side" is to attain better fundamental software engineering skills.

The reality of building back end services is that there are many many ways to achieve it. It sounds like you might have an existing system that you're working with that you'd like to become more familiar with? If so, perhaps tell us a little about that system so we can offer appropriate advice?
 
Kenan Teymurov
Greenhorn
Posts: 27
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
No, it's not like that, I'm telling you again. Listen carefully. Isn't everything in the web world built in client-server architecture? The client will send the request and I will have to receive it and write the business rules in my service layer and return a response to it, right? I'm having trouble writing business rules. Of course, these business rules can be issued by anyone. The part that I have difficulty in doing here is not being able to write the codes the business rules as requested from me according to the request I have received. How to improve these business logic area? is there any tutorials,which can explain wery well or anything?
 
Tim Cooke
Marshal
Posts: 5362
325
IntelliJ IDE Python Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
We are all volunteers here at CodeRanch and participate because we find it fun and fulfilling and we enjoy trying to help others learn.

Anar Mammadov wrote:No, it's not like that, I'm telling you again. Listen carefully.


In this conversation it appears that your attitude stinks, which makes it not fun to be a part of. Therefore on that basis, I'm out. Good luck.
 
Marshal
Posts: 75840
361
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
What are the business rules? Where do they come from?
 
Rancher
Posts: 1029
27
Netbeans IDE Oracle MySQL Database Tomcat Server C++ Java
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Anar,

I've worked the backend for 3 decades now, and started running projects 5 months out of college because I can communicate with developers, contractors, and end users very well.  I know how to get all the stake holders on the same page.  

I assure you, your explanation was NOT clear at all.

Les

Anar Mammadov wrote:I'm sure I have explained my question very well and clearly. Maybe you can't working back end side or something.

 
Les Morgan
Rancher
Posts: 1029
27
Netbeans IDE Oracle MySQL Database Tomcat Server C++ Java
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Anar,

NO!  what you are saying here is total nonsense.

Business rules are made pre-implementation and are hard coded into the middle layers and enforced religiously--meticulous detail needs to be put into making that business rule layer secure and inflexible past what is accepted by each business rule.

Les

Anar Mammadov wrote:No, it's not like that, I'm telling you again. Listen carefully. Isn't everything in the web world built in client-server architecture? The client will send the request and I will have to receive it and write the business rules in my service layer and return a response to it, right? I'm having trouble writing business rules. Of course, these business rules can be issued by anyone. The part that I have difficulty in doing here is not being able to write the codes the business rules as requested from me according to the request I have received. How to improve these business logic area? is there any tutorials,which can explain wery well or anything?

 
Saloon Keeper
Posts: 7355
170
  • Likes 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Anar Mammadov wrote:The part that I have difficulty in doing here is not being able to write the codes the business rules as requested from me according to the request I have received.


What specifically are you having problems with? Are you having trouble making sense of the requirements? If so, talk to the whoever came up with those. Do you not understand the DB, or other involved pieces of software that you need to use? If so, maybe there are others on your team that can help you. Is your understanding of Java, or of whatever web framework you're using, insufficient? These are all very different issues, and require very different approaches.
 
Les Morgan
Rancher
Posts: 1029
27
Netbeans IDE Oracle MySQL Database Tomcat Server C++ Java
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Anar,

the concept of N-Tier is very simple and built upon the model of "request/response", but at each layer there has to be safeguards that will not allow requests through that do not meet security and format of the business rules.

The business rules define a protocol that must be followed to get a request through the layer that a request is being sent.  Once that layer accepts the request, after security checks and etc, then that layer has to use the protocol developed to request to the next layer.  Once the request has been completed through all the layers, the requested response has to be sent back through the chain of requesters--that is the return protocol.

The whole process can be simple or as complex as your business rules define.  We are currently implementing "never unencrypted" protocols because out data is so sensitive that it cannot sit on any cache unencrypted, but is given to the user view as they need it in real time.  that is just part of our business layers.  We have to check each user to be sure they have access to the data requests, and only return what they have a legal need to have access to see.  The layers are nightmares for most to look at, but they must be done for out security that is required by law.

Each of these business layers are governed by hard and fast business rules that are developed by each of the stake holders, and as required by law.

If you as a developer as trying to make business rules, then you undergo a task of fools.  Each of the individual stake holders (businesses, user groups, data originators, and etc) define the business rules.  You, as a developer, only implement them and make them bullet proof so NO request can be made improperly and compromise the business rules or bypass any security required.

Les
 
Les Morgan
Rancher
Posts: 1029
27
Netbeans IDE Oracle MySQL Database Tomcat Server C++ Java
  • Likes 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Here is a metric that I enjoy posting:

In the course of a project, one that a programmer sees maybe a year and a half doing, do you realize that only about 5% to 20% of the actual project time is actually creating of the code base and data repositories?  So you say where is that other 80% to 95% of the project?  It's very simple: the most significant part of a project are in setting business rules.

These rules are set in closed door meetings long before even the most top level IT/IS person was invited to the table.  Data sharing agreements (sound like a IT job--think more like Corporate leaders and legal departments meeting), data collection protocols (at this point they might be referred to as survey questions), work flow (what groups of workers do what and agreements across workgroups need to be put in place), and a host of things that an IT staff never has to stick their nose into--it is how the entity or entities that need work done actually envision what it is that they need to do, and define how they will do it.

Some of the questions that get asked in these meetings are: Who do we serve with this project; just who is our target audience?  Does this fit into our current model of operations, so do we have to extend the reach and legal obligations of our organization (maybe another trip down to legal) ?  Do we need follow-up and a historic tracking of the work that is being done, once implemented?  What is our exposure, and our clients exposure, and how do we mitigate that to meet business and legal need?  At what point do we need to integrate legal services into our planning (I assure you, it will be long before any of the IT staff gets a hint of what is going on.)  And there is a host of things that are far too involved to even start a list in the limitations of this forum.

So some where after the thousands of manhours have been burned actually fleshing out what it is that needs to be done, they call in the "Geniuses in the IT" department--who, mostly, at this time, think a project has just been started, but in actuality the true project has been kicked around, fleshed out, and ultimately gelled enough to have a presentation made; so that real workgroups could be justified to be assigned to answer those huge sweeping questions that have been kicked around, and for the development of business rules to actually lead to formalization of the actual work that needs to be done, and given hope that it may, at sometime, actually see the light of day to be implemented into the physical world.  We are talking, in many cases, YEARS, if not decades, of brain storming, informal discussions, choosing of project goals, and etc.  And then it is presented to IT.  A liaison is assigned to try to bridge the gap between the thousand of hours that have been done, and this group of high skilled code monkeys that think they are starting a project.

In best cases, the IT part of the project is, quite literally, about the "tip of the ice burg" scenario.

Les
 
Kenan Teymurov
Greenhorn
Posts: 27
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I am a Junior Java Back End Developer and I work currently bank sector, we do generally generate API or CLIENT+API and I learned a few month ago about programming language for indivudual, but When I start working in real time project of my own workplace, I see that there is everything different than what I want learning.  So my problem is that I couldn't type any statements to the code when business logic required.
 
Tim Moores
Saloon Keeper
Posts: 7355
170
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
OK, so that goes back to what I said before:

Tim Moores wrote:Are you having trouble making sense of the requirements? If so, talk to the whoever came up with those.

Do you not understand the DB, or other involved pieces of software that you need to use? If so, maybe there are others on your team that can help you.

Is your understanding of Java, or of whatever web framework you're using, insufficient? These are all very different issues, and require very different approaches.



As part of bringing you on the team, one of your peers -meaning other backend programmers- should give you a in-depth introduction into the various pieces that let you do exactly what you're struggling with: database, web or API framework, overall architecture, etc. Ideally they would give you a simple task, and guide you through that to completion. It sounds as if that didn't happen, or wasn't detailed enough. So you may have to approach your team lead and talk to him about the difficulties you're having, and that you need better training in the afore-mentioned areas.
 
Kenan Teymurov
Greenhorn
Posts: 27
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I think it shouldn't be that hard after all, it's software and everything is abstract here. I'm just magnifying the issue. Most programmers say that programming consists only of exchanging data. They say that we only get data here and we create something logical from the data we receive and return it. I absolutely agree with this. They may also be able to become my teammates just one day tomorrow. I intend to resolve the issue in general. For example, in the past, questions related to why I would use dto were forming in my head.However, when I worked on the real project, I understood why the dtos was needed.   Carefully read the sentence I marked as special. I need theories or shortcuts like this, I don't need code-related solutions.
 
Tim Moores
Saloon Keeper
Posts: 7355
170
  • Likes 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Kenan Teymurov wrote:Most programmers say that programming consists only of exchanging data.


I very much doubt that "most programmers", or even a sizable minority of them, would say that. This is true only in the most abstract way of looking at data processing, which is "data in -> processing -> data out". As soon as you dive into how to do that in a complex environment with complex rules, this simplistic line of thinking hits a brick wall. It sounds as if you're just running into that wall, as you find out that programming is not simply shuffling data around, but applying complex business rules to that process.

As soon as we create an api, we keep the answers that the other party has returned to us in our dtos, then we fill the dtos into the entities.

I need theories or shortcuts like this


Unfortunately, not even this one is true in general (even if it may be so in the particular project you're dealing with right now), so if you're looking for similar simplistic guidelines rather than trying to understand the underlying concepts, I'm afraid you're setting yourself up for failure.
 
Les Morgan
Rancher
Posts: 1029
27
Netbeans IDE Oracle MySQL Database Tomcat Server C++ Java
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Kenan,
as far as i can see from all of your dialog, you have the idea backward to good practicel

so please pay particular attention to the 26 steps that i have listed and the notes after as follows:

1: get business rules from the business entity
2: go back and visit 1 frequently until the rules are well defined
3: start development of an API that implements the functionality of the business rules already defined by the business entity
4: review with the business entity all algorithms that you have developed for your proposed API implementation
5: set milestones in implementation as to what will be delivered and when for your API
6: go back to 1 and make sure everything is on track (about here or before scope creep happens--it's time to mitigate your liability for their changes)
7: start the implementation--parse out the work to be done with appropriate pieces to your development team members.
8: implement according to the milestone covenants you set up previously
9: show the business entities what has been done (milestone by milestone as they are reached)
10: mitigate scope creep
11: integration testing of each of the project parts (milestones)
12: get the end user community involved in integration testing (alpha tests)
13: show aggregate functionality to business entity and end user community
14: mitigate creep
15: beta test
16: feed back from business entity and end user community
17: mitigate creep
18: make required changes go back to 11 if needed or continue 15
19: work with business entity and end user community to get an acceptable implementation phase
20: mitigate creep
21: implement according to 19
22: go back to 16
23: mitigate creep
24: 22 as needed
25: work with business entity to get sign off on delivered project (note: each individual milestone should have been signed off on at this point)
26: give your team a bonus and vacations they all put off while doing the project.

Do not, and i repeat: do not skip any of those mitigation steps!  the business entity and end user community needs to know how their changes will affect the project bottom line, deliverables, and time line.   Changing code, especially at a deliverable level, cost time--which is dollars on a project.

Les

Kenan Teymurov wrote:
... As soon as we create an api, we keep the answers that the other party has returned to us in our dtos, then we fill the dtos into the entities.

 
Ranch Hand
Posts: 531
2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator


In short, what do I need to improve so that I can only use postman without a view, send a request and get a response and write a back end?


You need to create servlet.
Have it running on a web server .
Have it handle request and response parameters.

Configure the request in Postman .
Call the request in Postman.
Look at the response .

-----------------------------------------------

In your servlet ,you will likely call another java object/class to package request in one or more model objects, validate the request (model object(s)) ,do any processing ,and then forward the java model data object(s) to the data access layer. The data access layer then persists the data.

Most people use framework like Spring to handle these actions.

Hope this helps.
Paul
 
pie. tiny ad:
Building a Better World in your Backyard by Paul Wheaton and Shawn Klassen-Koop
https://coderanch.com/wiki/718759/books/Building-World-Backyard-Paul-Wheaton
reply
    Bookmark Topic Watch Topic
  • New Topic