• Post Reply Bookmark Topic Watch Topic
  • New Topic

What is an "SDK for Java"?  RSS feed

 
jeff sorgen
Greenhorn
Posts: 6
Android Netbeans IDE Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hey,
I am completely green here.

My goal is to use the Amazon SDK for java

however...

I don't know how the BIG pieces fit together.

So far...

I've installed the java/netbeans combo JDK/IDE on my Win7 machine.
Then I successfully ran the "hello world" tester.

I've downloaded the Amazon SDK for java because I want to use it to interface with Amazon Web Services somehow.

I don't know what that looks like at all. I am hoping someone can tell me what step three is. I keep finding out what step eleven is and I don't know how to apply that yet.

I read that it's OK to have a stupid or uber-beginning question here. I hope I get an answer that makes sense.

I'm quite computer/network/Internet/systems savvy... but I've always HIRED someone to do this stuff for me before. Not this time.
~Jeff
 
Joe Harry
Ranch Hand
Posts: 10128
3
Eclipse IDE Mac PPC Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
SDK stands for "Software Development Kit" and it means nothing more than just a library. You first need to have Java SDK installed on your machine. This Java SDK gives you the Java runtime which is the JVM (Java Virtual Machine) and the Java JDK (Java Development Kit) wich contains libraries to compile your Java programs.

The Amazon SDK is just a library from Amazon that you can use to interface with Amazon services. In comparable terms, it is just like the Java JDK!

If you are completely new to programming and you are interested to learn Java, I would recommend you the Head First Java book! Welcome to Javaranch!
 
Stefan Evans
Bartender
Posts: 1837
10
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Jeff.

My guess to step 3 would be work through the Amazon SDK equivalent of the "hello world" tester.
I think that is found here

This tutorial uses the git and maven tools.
Git to download their sample code. Maven to download the libraries, build and run your code.
You can then maybe take a look at their sample and try and understand what it is accomplishing.

How much do you know about java and programming right now? This might be a case of trying to run before you can walk.
 
jeff sorgen
Greenhorn
Posts: 6
Android Netbeans IDE Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I'm not much of a command line guy.
I think Maven and Git and etc are more than I want to do.

I'm sure there is a shortcut.
Yes, I prefer to run before I walk.

I want to use the NetBeans console to compile some Amazon SDK code.

The instructions are to "add" the credentials.

But where?
Add to what?

Is there a file? an object of some type?
Where do these bits of code get put so I can compile and run an instruction from this Amazon Library SDK?

Seriously I think this is something that every java developer takes for granted.
This simple concept is foreign to me now but it's one which I will never forget once I learn it!

I think if I knew precisely where to stick the credentials I would be able to also drop some instructions and make some magic happen.

I'm missing something extremely basic and I have no idea what it is or where to look.

bla...
 
jeff sorgen
Greenhorn
Posts: 6
Android Netbeans IDE Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Here ----

https://docs.aws.amazon.com/AWSMechTurk/latest/AWSMechanicalTurkGettingStartedGuide/CreatingAHIT.html#Java

This talks about doing these things --

"specify" the .jar files

--> What does "specify" mean and what does it entail?

"import" the classes

Huh? Import? to where?

and create an object

A little boost on this would be helpful.

Seems I'm farther along than I thought I was.
But I'm floundering.
 
Campbell Ritchie
Marshal
Posts: 56599
172
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Welcome to the Ranch

This isn't a beginning‑type question so I shall move it elsewhere; I am not quite sure where to put it, but let's try the other projects forum.
 
jeff sorgen
Greenhorn
Posts: 6
Android Netbeans IDE Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Campbell Ritchie wrote:Welcome to the Ranch

This isn't a beginning‑type question so I shall move it elsewhere; I am not quite sure where to put it, but let's try the other projects forum.


It's funny because I really feel like a beginner.

And I don't actually understand the questions being asked in the beginner forum.

*sigh*

Maybe you can help me ask my question better or something...
 
Dave Tolls
Ranch Foreman
Posts: 3068
37
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
If that is the case then I would suggest not starting with trying to get an app working with the Amazon SDK.
You really need to know how to build an application, including what to do with jar dependencies, and importing classes.

If you don't understand that (and they are some of the fundamentals) then you will simply get yourself in a complete mess trying to leap into something that needs that knowledge for you to be able to use it successfully.
 
jeff sorgen
Greenhorn
Posts: 6
Android Netbeans IDE Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Dave Tolls wrote:I would suggest not starting with trying to get an app working with the Amazon SDK.
You really need to know how to build an application, including what to do with jar dependencies, and importing classes.


Thank you for your response.

What you are really telling me is -- study what "jar" dependencies are.
Then study what importing classes are. (but that was my question here)

OK.

I will do that.

But...

I DID build an application. I made "hello world" run successfully. I'm happy with that.
Next, I plan to add code one piece at a time to the section that worked.
And learn one concept at a time.

As far as "not starting with the Amazon SDK" --
The Amazon SDK is actually what brought me here.


I began with the purpose of creating an API for Amazon Turk.

That is still my purpose.

It's just that I thought Java was the best way and most straight-forward way to go.
I could try Perl, Python, Ruby or .Net but they don't seem like the best choice going forward.
People here might agree that Java is the best way to go about using a third party SDK.

Why do I get the feeling people don't want me asking questions here -- they say, "go read a book" or "go study elsewhere"

** shrug **
 
Paul Clapham
Sheriff
Posts: 22844
43
Eclipse IDE Firefox Browser MySQL Database
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
jeff sorgen wrote:Why do I get the feeling people don't want me asking questions here -- they say, "go read a book" or "go study elsewhere"


It's because you're asking questions which you won't understand the answers to. That's already happened in this thread, in fact. You thought that writing a "Hello World" program constituted building an application, for example, but it doesn't. A program is just one of the building blocks of an application.

It's like saying "I want to write a short story in German" for example. You're going to get people suggesting you ought to start by learning a bit of German and you shouldn't be surprised by that.
 
jeff sorgen
Greenhorn
Posts: 6
Android Netbeans IDE Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Paul Clapham wrote:thought that writing a "Hello World" program constituted building an application, for example, but it doesn't. A program is just one of the building blocks of an application.


OK.

So from you I learned that there is "program" and there is "application"... I ran a "program" and I haven't built an "application."

So you're saying that the "hello world" PROGRAM isn't an application and I need to make more PROGRAMS and then assemble them into an APPLICATION.

Got it.


If that's the case, then it seems very clear --
I need to write a PROGRAM that does something really simple but it uses the AMAZON SDK library of "stuff." (classes? jars?)

Right?

At that point I would have 2 programs. 1.) "Hello World" and 2.) Amazon Turk "Create HIT" program, for example.

Right?



What's an example of an application?

Let's say I have a website.
Let's say I want to create a button that prompts a visitor to upload a file.

What parts of this scenario constitute programs?
What would be the application part of this scenario?

Is a program --
- a button that clicks and does something?
- a function that browses for files on the visitor's computer?
- an upload process?
- a transfer from the website to Amazon S3 file services bucket?

Is an application --

- the functionality that allows a website visitor to upload a file to my Amazon S3 bucket?
- actually a bunch of programs that work together for this function?

Do I understand this distinction properly?

Can anyone give me a better example of the difference between an application and a program?



Thanks!


Paul Clapham wrote:you ought to start by learning a bit of German

I refuse to learn German when I can get a phrase book and still enjoy visiting the country.

Clever Inventor wrote:no need to reinvent the wheel

Whatever I'm doing -- somebody has done this before.
Is it wrong to re-purpose code that somebody already wrote?

It's not "cheating"
It's "smart"
... and quicker.

(am I annoying?)
 
Dave Tolls
Ranch Foreman
Posts: 3068
37
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
It's not wrong to repurpose code.
We all here "borrow" code all the time.
But we know (usually) what that code does, and where we need to put it, and how to add libraries to a project, and how to import classes, and how to structure an application.

For AWS you aren't just including a bunch of Java code, you are also dealing with networking, databases, and a load of other technologies.

It might seem like diving in is a good idea, but if the foundations of your knowledge are shaky (and they are) you run the very real risk of it collapsing in a mess.

So, what should you be writing?
That depends on what it is you are aiming to do with AWS.

you should be able to work towards the AWS stuff, whether it's file moving, data crunching, db work, whatever...and when you get there you will have a better grounding for actually doing the app you want. Besides also having a chunk of code that already works.
 
Knute Snortum
Sheriff
Posts: 4288
127
Chrome Eclipse IDE Java Postgres Database VI Editor
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I don't think applications and programs have strict definitions. An application is usually thought of as an executable that does something useful. A program is usually thought of as code in a single file. An application could be one program, but that's rare. Most application are created from several classes (sometimes hundreds) and either a driver class with a main() method or some framework like Spring.

If you want to look at a small application with dozens of classes, look here.
 
It is sorta covered in the JavaRanch Style Guide.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!